Net使用Microsoft.Office.Interop.Excel;创建Excel文件(插入数据、修改格式、生成图表)的方法,以及Excel查看加密

来源:互联网 发布:mac层随机竞争算法 编辑:程序博客网 时间:2024/06/01 07:49

具体使用方法可以参照文章:
http://blog.csdn.net/tuoxie5431/article/details/3937752

Microsoft.Office.Interop.Excel控件比较适用于VB,相较于NPOI的优点是:对Excel文件的把控性更加强大,可以对Excel的打开操作进行加密:
password 就是打开密码,方法中的下一个miss 是对文件中的写操作加密保护,NPOI只支持写保护,没有查看密码保护,客户参考文章:http://bbs.csdn.net/topics/380226272

 object miss = Missing.Value; workBook.SaveAs(pathSaveAS, miss, password, miss, miss, miss, XlSaveAsAccessMode.xlNoChange, miss, miss, miss, miss, miss);

相较于NPOI也有缺点,就是代码执行速度更慢,主要是在执行以下方法的时候特别耗时

  Application excelApp = new Application();

如果是VB端,或者是少并发的情况下没有问题,但是如果同时单线程的话就有可能引发程序卡死。

第一篇文章中可以用矩阵的方式更新Sheet中的单元格,但是

workSheet.get_Range(workSheet.Cells[1, 1], workSheet.Cells[rowCount, colCount]).Value2 = dataArray;
容易引发 workSheet.get_Range() 方法的错误,我尝试使用的修改单元格中的值的方法:

 ((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[2, 2]).set_Value(Type.Missing, 12.33);

执行特别注意的是 在使用Interop.Excel这个dll的时候,sheet,cell 的默认Index都是从1开始的,这与NPOI很不一样,NPOI中的相对应的Index都是从0开始的。

阅读全文
0 0