代码改变世界

使用C#和Excel进行报表开发(6)

  观海看云  阅读(128)  评论(0编辑  收藏  举报

内容摘要:在Excel中,行和列实际上仍然是Range,只不过取得行和列的方法和前面几篇随笔出现的有点不同,要使用Worksheet的Rows和Columns属性的get_Item方法,下面是例子代码,演示了怎样选中行,并且在行之间复制数据。

  在Excel中,行和列实际上仍然是Range,只不过取得行和列的方法和前面几篇随笔出现的有点不同,要使用Worksheet的Rows和Columns属性的get_Item方法,下面是例子代码,演示了怎样选中行,并且在行之间复制数据,和插入行:

  ThisApplication = new Excel.Application();  ThisWorkbook = ThisApplication.Workbooks.Open("z:Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);  ThisApplication.DisplayAlerts = false;
  xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);
  //Excel.Range range = xlSheet.get_Range("G4",Type.Missing);
  Excel.Range range = (Excel.Range)xlSheet.Rows.get_Item(18, Type.Missing);
  Excel.Range range1 = (Excel.Range)xlSheet.Rows.get_Item(19, Type.Missing);
  range.Value = "123";
  range.Copy(range1);
  range1.Rows.Insert(XlInsertShiftDirection.xlShiftDown);
  ThisWorkbook.SaveAs("z:Book2.xls", Type.Missing, Type.Missing,
  Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,
  Type.Missing, Type.Missing, Type.Missing, Type.Missing);

  关于Excel进程的释放,前面几篇随笔已经有了,这里就不再重复了。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示