• C#调用Excel,拷贝图表到其他Excel文档中


     Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                excel.Visible = blExcelVisible;//设置调用引用的 Excel文件是否可见
                excel.DisplayAlerts = false;
    
                Workbook workbook = excel.Workbooks.Open(strReportPath);
    
                Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[15];
    
                Workbook workbookDetail = excel.Workbooks.Open(strPath);
    
                Microsoft.Office.Interop.Excel.Worksheet WorksheetDetail = (Microsoft.Office.Interop.Excel.Worksheet)workbookDetail.Worksheets[15];
                //复制子文档的Worksheet到主文档去
                WorksheetDetail.Copy(worksheet);
    
                Microsoft.Office.Interop.Excel.Worksheet worksheetChart = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets["画图"];
           
            
    double left = 125; double top = 593; for (int i = 1; i < 13; i++) { //找到需要移动的图表 ChartObject chartObjectOld = (ChartObject)worksheetChart.ChartObjects("Char" + i); //left = chartObjectOld.Left; //top = chartObjectOld.Top; Chart chart = chartObjectOld.Chart; //移动Char图表 chart.Location(XlChartLocation.xlLocationAsObject, strReportName); //新图表实例化 Microsoft.Office.Interop.Excel.Worksheet worksheetChartSalt = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[strReportName]; ChartObject chartObject = (ChartObject)worksheetChartSalt.ChartObjects("Char" + i); //设置新图表位置 chartObject.Left = left; chartObject.Top = top; if (i % 2 == 0) { top = top + 175; left = left - 299; } else { left = left + 299; } } excel.DisplayAlerts = false; //删除图表 ((Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets["画图"]).Delete(); excel.DisplayAlerts = true;//workbook.SaveAs(strSavePath, Type.Missing, "", "", Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, 1, false, Type.Missing, Type.Missing, Type.Missing); workbook.Save(); workbook.Close(false, System.Reflection.Missing.Value, Missing.Value); workbookDetail.Close(false, System.Reflection.Missing.Value, Missing.Value); excel.Workbooks.Close(); excel.Quit(); workbook = null; workbookDetail = null; worksheet = null; WorksheetDetail = null; worksheetChart = null; Kill(excel); GC.Collect();
  • 相关阅读:
    在 VS14 上安装 Visual F# Power Tools
    关于sources.list和apt-get [转载]
    MATLAB中导入数据:importdata函数
    部分 CM11 系统 Android 平板执行植物大战僵尸 2 黑屏的解决的方法
    html5视频播放
    用GruntJS合并、压缩JS文件
    Linux/UNIX进程控制(1)
    TCP/IP协议,HTTP协议
    php 求水仙花数优化
    使用LAMP创建基于wordpress的个从博客站点
  • 原文地址:https://www.cnblogs.com/weifeng123/p/13710793.html
Copyright © 2020-2023  润新知