using System.IO;
using NPOI.POIFS.FileSystem;
using NPOI.HSSF.Util;
using NPOI.HSSF.UserModel;
using NPOI.XSSF.UserModel
//新建Excel文件 IWorkbook workbook = new HSSFWorkbook(); //新建Sheet表
ISheet sheet = workbook.CreateSheet("Test Result"); //创建单元格样式和字体样式
IFont font = workbook.CreateFont();
ICellStyle style = workbook.CreateCellStyle(); //设置居中
style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CenterSelection; //设置内容垂直居中
style.VerticalAlignment = VerticalAlignment.Justify;
//字体加粗 font.Boldweight = short.MaxValue;
//设置字体大小
font.FontHeightInPoints = 12; style.SetFont(font);
IFont font1 = workbook.CreateFont(); ICellStyle style1 = workbook.CreateCellStyle(); style1.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CenterSelection; style1.VerticalAlignment = VerticalAlignment.Justify; //修改列宽 sheet.SetColumnWidth(1, 18 * 400); sheet.SetColumnWidth(2, 18 * 256);
string[] value1 = { "NO", "UUT SN", "Condition"}; //新建行
IRow row = sheet.CreateRow(0);
for (int a = 0; a < value1.Length; a++)
{ //将数组中的值逐一添加到单元格中
row.CreateCell(a).SetCellValue(Convert.ToString(value1[a])); //给每个单元格写入样式
row.GetCell(a).CellStyle = style;
} for (int i = 0; i < 32; i++)
{ //追加行
IRow row1 = sheet.CreateRow((sheet.LastRowNum + 1));
row1.CreateCell(0).SetCellValue(i + 1);
row1.CreateCell(1).SetCellValue("5473567I008D9193541A1000041");
row1.CreateCell(2).SetCellValue("Temperature ");
row1.GetCell(0).CellStyle = style1;
row1.GetCell(1).CellStyle = style1;
row1.GetCell(2).CellStyle = style1;
font1.Boldweight = short.MaxValue;
style1.SetFont(font1);
row1 = sheet.CreateRow((sheet.LastRowNum + 1));
row1.CreateCell(2).SetCellValue("AC input");
row1.GetCell(2).CellStyle = style1;
row1 = sheet.CreateRow((sheet.LastRowNum + 1));
row1.CreateCell(2).SetCellValue("DC output");
row1.GetCell(2).CellStyle = style1;
row1 = sheet.CreateRow((sheet.LastRowNum + 1));
row1.CreateCell(2).SetCellValue("Current");
row1.GetCell(2).CellStyle = style1;
//新建path
FileStream fs = new FileStream(@"C:\Users\lenovo\Desktop\Test Result.xls", FileMode.Create, FileAccess.Write); //写入
workbook.Write(fs); //关闭
fs.Close();
}
//追加内容函数 FileStream fs = new FileStream(@"C:\Users\lenovo\Desktop\Test Result.xls", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);//读取流
POIFSFileSystem ps = new POIFSFileSystem(fs);
IWorkbook workbook = new HSSFWorkbook(ps);
ISheet sheet = workbook.GetSheetAt(0);//获取工作表
IRow row = sheet.GetRow(0); //得到表头
ColumnStyle column1 = new ColumnStyle();
FileStream fout = new FileStream(@"C:\Users\lenovo\Desktop\Test Result.xls", FileMode.Open, FileAccess.Write, FileShare.ReadWrite);//写入流
ICellStyle style = workbook.CreateCellStyle();
style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CenterSelection;
style.VerticalAlignment = VerticalAlignment.Justify;
IFont font = workbook.CreateFont();
ICellStyle style1 = workbook.CreateCellStyle();
style1.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CenterSelection;
style1.VerticalAlignment = VerticalAlignment.Justify;
font.Boldweight = short.MaxValue;
style1.SetFont(font);
int cellNum = 0;
cellNum = row.LastCellNum;
row.CreateCell(cellNum).SetCellValue(DateTime.Now.ToString("HH:mm:ss"));
row.GetCell(cellNum).CellStyle = style1;
for (int i = 0; i < 32; i++)
{
row = sheet.GetRow(1 + i*4);
row.CreateCell(cellNum).SetCellValue("40℃");
row.GetCell(cellNum).CellStyle = style;
row = sheet.GetRow(2 + i * 4);
row.CreateCell(cellNum).SetCellValue("223.7V");
row.GetCell(cellNum).CellStyle = style;
row = sheet.GetRow(3 + i * 4);
row.CreateCell(cellNum).SetCellValue("6.07V");
row.GetCell(cellNum).CellStyle = style;
row = sheet.GetRow(4 + i * 4);
row.CreateCell(cellNum).SetCellValue("3.79A");
row.GetCell(cellNum).CellStyle = style;
}
fout.Flush();
workbook.Write(fout);//写入文件
workbook = null;
fout.Close();