protected void Button1_Click(object sender, EventArgs e)
{
MemoryStream formateStrem = test2();
byte[] stremByte = formateStrem.ToArray();
formateStrem.Dispose();//非托管资源流对象 手动释放
Response.ClearContent();
Response.ContentEncoding = System.Text.Encoding.UTF8;
//设置输出流
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;fileName=" + "test.xls");
Response.BinaryWrite(stremByte);
}
private MemoryStream test2()
{
MemoryStream sss = new MemoryStream();
HSSFWorkbook workBook = new HSSFWorkbook();
createSheet(workBook, "SheetA");
createSheet(workBook, "SheetB");
createSheet(workBook, "SheetC");
workBook.Write(sss);
return sss;
}
private ISheet createSheet(HSSFWorkbook workBook, string sheetName)
{
ISheet sheet = workBook.CreateSheet(sheetName);
IRow RowHead = sheet.CreateRow(0);
for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
{
RowHead.CreateCell(iColumnIndex).SetCellValue(Guid.NewGuid().ToString());
}
for (int iRowIndex = 0; iRowIndex < 20; iRowIndex++)
{
IRow RowBody = sheet.CreateRow(iRowIndex + 1);
for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
{
RowBody.CreateCell(iColumnIndex).SetCellValue(DateTime.Now.Millisecond);
sheet.AutoSizeColumn(iColumnIndex);
}
}
return sheet;
}