1.用system.IO 读写来实现,如果使用这个方式,每个测试生成一个报告,容易开启太多的线程,占用内存太多
FileStream ofs1 = new FileStream(path1, FileMode.Create);
StreamWriter owr = new StreamWriter(ofs);
2.开发帮助说使用vs com组件里边的引用,如下链接,感觉这个实现方式还更麻烦哪
http://blog.csdn.net/gisfarmer/article/details/3738959
3.再询问一个测试网友,他说可以用NPOI来实现,直接引用dll,写几句代码就能实现了,
下载地址:http://npoi.codeplex.com/releases
新建ecxel表格,在第一行第一列添加内容
excel行从1开始,NPOI内部从0开始;excel列从字母开始,NPOI是数字表示,记得转换
public void NPOITest() { HSSFWorkbook hssWorkbook = new HSSFWorkbook(); ISheet hssSheet = hssWorkbook.CreateSheet("new sheet"); hssSheet.CreateRow(0).CreateCell(0).SetCellValue("This a sample"); FileStream fs = new FileStream(@"d:\temp\test.xls", FileMode.Create); hssWorkbook.Write(fs); fs.Close(); } |
public void TestExcel() { FileStream file = new FileStream(@"d:\temp\test.xls", FileMode.Open, FileAccess.Read); HSSFWorkbook hssfWork = new HSSFWorkbook(file); ISheet iSheet = hssfWork.GetSheet("new sheet"); //获取所有行数,然后再+1的基础上加入数据 (lastRowNum是当前数据的最后一行) iSheet.CreateRow(iSheet.LastRowNum+1).CreateCell(0).SetCellValue("testtest"); FileStream fss = new FileStream(@"d:\temp\test.xls", FileMode.Create); hssfWork.Write(fss); file.Close(); } |