导出Excel

引用 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();
}
}
}

 

posted @ 2018-06-27 14:28  你狗懂嘛?  阅读(195)  评论(0编辑  收藏  举报