C#在未安装Excel中的机器上操作Excel
这个问题苦恼了我许久,今天终于可以了断了,之前一直在研究微软的Excel类库,在本机没问题,发布后就有问题,真是郁闷。。。。
今天突然在论坛上看见有朋友发的第三方控件SpreadsheetGear,只需引人类库,就可以畅通无阻的操作Excel了(WPS也行的哦),虽然说是收费的软件,但我不安装它只是引用他的类库,应该不算收费之列吧(晕,后来发现试用版限制读取前150行),呵呵,不管那么多了先用了再说,有需要的朋友可以去我的资源那里下载。。。(下面还有完全免费的呢NPOI)
另外的一些相关的Excel插件文章:
1. http://www.gemboxsoftware.com/help/html/T_GemBox_Spreadsheet_CellRange.htm,免费版只能操作前150行
2. http://ufo-crackerx.blog.163.com/,
3. http://shashankshetty.wordpress.com/tag/excel/,ExcelMapper这个插件需要安装Excel
4.http://koogra.sourceforge.net/,这个插件完全免费,功能无限制,但只能读Excel
5.http://zh.tutupk.com/1955/reading-excel-files-from-c.这里包含了好多Excel控件
6.http://excelwrapperdotnet.codeplex.com/:这个插件需要安装Excel
7.NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写,http://npoi.codeplex.com/releases/view/19000,NPOI控件(java和.Net都能用,下面是.Net的案例),这个控件完全免费,功能齐全,非常不错
参考:http://www.heavenlake.com/java2word/doc/
例:{
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.POIFS;
using NPOI.Util;
public void ExcelModel()
{
FileStream file = new FileStream(Server.MapPath("~/tempLabel.xls"),FileMode.OpenOrCreate);
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
HSSFSheet sheet1 = (HSSFSheet)hssfworkbook.GetSheetAt(1);
for (int i = 0; i < 1000; i++)
{
sheet1.CreateRow(i + 2).CreateCell(0).SetCellValue(i);
sheet1.GetRow(i + 2).CreateCell(1).SetCellValue(i + 1);
sheet1.GetRow(i + 2).CreateCell(2).SetCellValue(i + 2);
}
sheet1.CreateRow(1001).CreateCell(0).SetCellValue("导入1000条数据");
using (FileStream fs = new FileStream(Server.MapPath("~/tempLabel.xls"), FileMode.Open, FileAccess.ReadWrite))
{
hssfworkbook.Write(fs);
fs.Close();
fs.Dispose();
}
}
}