1 回答
TA贡献4条经验 获得超0个赞
首先引用 NPOI
代码语言c#
也不知道楼主用的什么语言 希望能对楼主有帮助
我不是大神 只是刚好照着例子做过导出excel 说的不完善 和有错误的地方要告诉我哦,不要让我再继续错下去了哦
public FileResult DaochuExcel()
{
//创建Excel文件的对象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
//添加一个sheet
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");
//获取list数据
IQueryable<AliExpressOrderForm> qs = null;
(这一段是查询数据)
List<AliExpressOrderForm> ListInfo = qs.ToList();
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
row1.Height = 3 * 265;
IFont cfont = book.CreateFont(); //自己设置的一个字体样式
cfont.FontName = "宋体";
cfont.FontHeight = 1 * 256;
row1.CreateCell(0).SetCellValue("订单号"); //自己设置的标题
row1.CreateCell(1).SetCellValue("订单状态");
sheet1.SetColumnWidth(0, 20*256); //设置列宽
sheet1.SetColumnWidth(1, 15*256);
for (int i = 0; i < ListInfo.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
rowtemp.Height = 3*265;
rowtemp.CreateCell(0).SetCellValue(ListInfo[i].order_number);
rowtemp.Cells[0].CellStyle.Alignment = HorizontalAlignment.Center;
rowtemp.Cells[0].CellStyle.VerticalAlignment = VerticalAlignment.Center;//这两句是垂直居中和水平居中
rowtemp.Cells[0].CellStyle.WrapText = true; //自动换行
rowtemp.Cells[0].CellStyle.GetFont(book).FontName = "宋体";
rowtemp.Cells[0].CellStyle.GetFont(book).FontHeight = 1 * 256;
rowtemp.CreateCell(1).SetCellValue(ListInfo[i].status); //把值写到对应的格子里
rowtemp.CreateCell(2).SetCellValue(ListInfo[i].salesman);
}
Response.ContentType = "application/vnd.ms-excel;charset=UTF-8";
// 写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
ms.Flush();
ms.Position = 0;
return File(ms, "application/vnd.ms-excel", "文件名.xls");
}
添加回答
举报