我写的方法如下,请大家看看,我如何操作下边指示的某一个单元格的拆分。
//导出的内容 List<Model.Crab> alist = new BLL.Crab().GetList(0, "", getStrWhere(), getSort()); //表头 string[] title = { "卡号", "快递单号", "提货单号", "发货门店", "提货方式", "门店自提", "提货人", "手机号", "地区", "详细地址", "提货时间", "提货备注", "发货时间", "发货备注" }; NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.Sheet sheet = book.CreateSheet("已发货列表"); NPOI.SS.UserModel.Row row = sheet.CreateRow(0); for (int i = 0; i < title.Length; i++) { row.CreateCell(i).SetCellValue(title[i].ToString()); } int x = 0; for (int i = 0; i < alist.Count; i++) { NPOI.SS.UserModel.Row row2 = sheet.CreateRow(x + 1); /**********这里是一行********/ row2.CreateCell(0).SetCellValue(alist[i].UserName);//比如我就想把这个单元格拆分,该怎么处理? row2.CreateCell(1).SetCellValue(alist[i].SendCode); row2.CreateCell(2).SetCellValue(alist[i].SendTriplicate); row2.CreateCell(3).SetCellValue(alist[i].SendStoreName); row2.CreateCell(4).SetCellValue(alist[i].PickKind); row2.CreateCell(5).SetCellValue(alist[i].IsCommStorce.Value ? "是" : "否"); row2.CreateCell(6).SetCellValue(alist[i].PickName); row2.CreateCell(7).SetCellValue(alist[i].PickMobile); row2.CreateCell(8).SetCellValue(alist[i].PickAreaName); row2.CreateCell(9).SetCellValue(alist[i].PickAddress); row2.CreateCell(10).SetCellValue(alist[i].PickTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); row2.CreateCell(11).SetCellValue(alist[i].PickComment); row2.CreateCell(12).SetCellValue(alist[i].SendTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); row2.CreateCell(13).SetCellValue(alist[i].SendComment); x += 1; } //写入到客户端 System.IO.MemoryStream ms = new System.IO.MemoryStream(); book.Write(ms); HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename=已发货列表.xls")); HttpContext.Current.Response.BinaryWrite(ms.ToArray()); book = null; ms.Close(); ms.Dispose();
把想要的数据整理好,循环添加不就省事了。。。
程序员不懂使用EXCEL就是这结果。
EXCEL的单元格是不能拆的,只能合并。
不能拆分,合并也是一种办法吧?有没有什么好的建议呢?大神?
@imluzhi: 对啊,就是合并。知道这个就够了啊。