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();
}
|
在已有的test.xls添加数据
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();
}
|
最新内容请见作者的GitHub页:http://qaseven.github.io/