引用 NPOI.dll
public void WriteDataToExcel(ParaInfo tParallelism)
{
int isHaveFile = 0;
string DirName = "Excel";
if (Directory.Exists(DirName) == false)
{ //判断该目录是否存在,不存在则创建
Directory.CreateDirectory(DirName);
}
for (int n = 0; n < 2; n++)
{
string path = System.IO.Directory.GetCurrentDirectory();
string FileName = "\Excel", time;
if (n == 0)
{
time = "总表";
}
else
{
time = DateTime.Now.ToString("yyyyMMdd");
}
string FileTail = ".xls";
char File1 = '\';
string DestPath = path + File1 + DirName + FileName + time + FileTail;
if (File.Exists(DestPath))
{
isHaveFile = 0;
}
else
{
isHaveFile = 1;
}
if (isHaveFile == 1)
{
HSSFWorkbook workbook2003 = new HSSFWorkbook(); //新建工作簿
#region 注册表
workbook2003.CreateSheet("注册表"); //新建1个Sheet工作表
HSSFSheet SheetOne = (HSSFSheet)workbook2003.GetSheet("注册表"); //获取名称为Sheet1的工作表
//对每一行创建10个单元格
SheetOne.CreateRow(0); //创建首行
HSSFRow SheetRow = (HSSFRow)SheetOne.GetRow(0); //获取Sheet1工作表的首行
HSSFCell[] SheetCell = new HSSFCell[10];
for (int i = 0; i < 8; i++)
{
SheetCell[i] = (HSSFCell)SheetRow.CreateCell(i); //为第一行创建10个单元格
}
SheetOne.SetColumnWidth(0, 20 * 256);
SheetOne.SetColumnWidth(1, 20 * 256);
SheetOne.SetColumnWidth(2, 20 * 256);
SheetOne.SetColumnWidth(3, 20 * 276);
SheetOne.SetColumnWidth(4, 20 * 276);
SheetOne.SetColumnWidth(5, 20 * 256);
SheetOne.SetColumnWidth(6, 20 * 256);
SheetOne.SetColumnWidth(7, 20 * 256);
//创建之后就可以赋值了
SheetCell[0].SetCellValue("序号");
SheetCell[1].SetCellValue("aa");
SheetCell[2].SetCellValue("bb");
SheetCell[3].SetCellValue("ID");
SheetCell[4].SetCellValue("地址");
SheetCell[5].SetCellValue("日期");
SheetCell[6].SetCellValue("备注");
#endregion 注册表
FileStream file2003 = new FileStream(DestPath, FileMode.OpenOrCreate);
workbook2003.Write(file2003);
file2003.Close();
workbook2003.Close();
}
{
FileStream fs = new FileStream(DestPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
HSSFWorkbook workbook2003 = new HSSFWorkbook(fs);
#region 注册表
HSSFSheet SheetOne = (HSSFSheet)workbook2003.GetSheet("注册表"); //获取名称为Sheet1的工作表
int LastNULLRow = 0;
for (LastNULLRow = 0; LastNULLRow < 65535; LastNULLRow++)
{
IRow row = (HSSFRow)SheetOne.GetRow(LastNULLRow);
if (row == null) break;
}
HSSFRow SheetRow = (HSSFRow)SheetOne.GetRow(LastNULLRow); //获取Sheet1工作表的LastNULLRow行
SheetOne.CreateRow(LastNULLRow);
SheetRow = (HSSFRow)SheetOne.GetRow(LastNULLRow); //获取Sheet1工作表的首行
HSSFCell[] SheetCell = new HSSFCell[10];
for (int i = 0; i < 10; i++)
{
SheetCell[i] = (HSSFCell)SheetRow.CreateCell(i); //为第一行创建10个单元格
}
SheetCell[0].SetCellValue(LastNULLRow);
SheetCell[1].SetCellValue(tParallelism.aa); //aa
SheetCell[2].SetCellValue(tParallelism.bb); //bb
SheetCell[3].SetCellValue(tParallelism.ID); //ID
SheetCell[4].SetCellValue(tParallelism.Addr); //地址
SheetCell[5].SetCellValue(DateTime.Now.ToString()); //时间
#endregion 注册表
FileStream file2003 = new FileStream(DestPath, FileMode.OpenOrCreate);
workbook2003.Write(file2003);
file2003.Close();
workbook2003.Close();
}
}
}