zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    【halcon】学习记录
    【QT】常用类
    【QT】宏
    机器视觉名词解释
    单元测试
    【MFC】VS2017新建完MFC后,没有界面,只有代码
    【MFC】学习与问题整合
    函数重载(overload)和函数重写(override)
    工作记录+反思
    【转】MapReduce:默认Counter的含义
  • 原文地址:https://www.cnblogs.com/weifeng123/p/13710793.html
Copyright © 2011-2022 走看看