NPOI.SS.UserModel.IRow firstrow = sheet.CreateRow(0);
NPOI.SS.UserModel.ICell firstcell = firstrow.CreateCell(0);
//表名样式
NPOI.SS.UserModel.ICellStyle styleHeader = book.CreateCellStyle();
NPOI.SS.UserModel.IFont fontHeader = book.CreateFont();
styleHeader.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
styleHeader.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
fontHeader.FontHeightInPoints = 15;
styleHeader.SetFont(fontHeader);
firstcell.CellStyle = styleHeader;
firstcell.SetCellValue(title);
try
{
//列名样式
NPOI.SS.UserModel.ICellStyle styleColName = book.CreateCellStyle();
NPOI.SS.UserModel.IFont fontColName = book.CreateFont();
styleColName.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
styleColName.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
fontColName.FontHeightInPoints = 14;
styleColName.SetFont(fontColName);
//数据的样式、字体大小
NPOI.SS.UserModel.ICellStyle styleBody = book.CreateCellStyle();
NPOI.SS.UserModel.IFont fontBody = book.CreateFont();
styleBody.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
styleBody.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
fontBody.FontHeightInPoints = 12;
styleBody.SetFont(fontBody);
//创建具体单元格数据
int rowCount = dt.Rows.Count;
int colCount = dt.Columns.Count;
NPOI.SS.UserModel.IRow colNameRow = sheet.CreateRow(1);
for (int x = 0; x < colCount; x++)
{ //将列名写入单元格
NPOI.SS.UserModel.ICell colNameCell = colNameRow.CreateCell(x);
colNameCell.SetCellValue(dt.Columns[x].ColumnName);
colNameCell.CellStyle = styleColName;
}
for (int i = 0; i < rowCount; i++)
{
NPOI.SS.UserModel.IRow row = sheet.CreateRow(i + 2);//数据从第三行开始 第一行表名 第二行列名
for (int j = 0; j < colCount; j++)
{
//填充数据
NPOI.SS.UserModel.ICell cell = row.CreateCell(j);
if (dt.Rows[i][j] != null)
{
cell.SetCellValue(dt.Rows[i][j].ToString() + ' ');
if (dt.Rows[i][j].ToString().Contains('www'))
{
cell.Row.Height = 4000;
cp.AddPic(sheet, book, dt.Rows[i][j].ToString(), i+2, j);
}
}
else
{
cell.SetCellValue('');
}
cell.CellStyle = styleBody;
}
}
//自适应列宽
for (int x = 0; x < colCount; x++)
{
sheet.AutoSizeColumn(x, true);
}
//最后插入图片
//设置宽高
// sheet.SetColumnWidth(4,2000);
//此处代码是将 xls文件发到页面通过浏览器直接下载到本地 可以放到 界面调用的地方
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
//Response.AddHeader('Content-Disposition', string.Format('attachment; filename=ccc.xls'));
Response.AddHeader('Content-Disposition', 'attachment;filename=' + Server.UrlEncode(notile + '.xls'));//注意
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();
return true;
}
catch
{
throw new Exception();
}
finally
{
book = null;
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。