NPIO保留excel里面cell的格式导入数据请教。

ROGER DENG 2020-08-26 02:30:33
新人请教一下。本人需要的做的事,是把数据库中的数据导入excel的数据模板。本人新手,用NPIO已经实现数据库数据读取并导入到excel对应sheet的对应行的范围,但是数据写入以后对应单元格的格式(边框,字体)都没有了。
请问下各位,如何保留格式写入。

非常感谢。
...全文
4970 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ROGER DENG 2020-08-27
  • 打赏
  • 举报
回复
非常感谢答复。您提供的代码测试部分可用。但是经常提示 “未将对象应用设置到对象的实例”。我移植以后也有类似问题,我百度了一些,确实有类似问题。我再看看
姎楹 2020-08-26
  • 打赏
  • 举报
回复

sheet.GetRow(0).GetCell(2).SetCellValue(dr["BM_Code"].ToString() + "生产任务书");//标题 
                    sheet.GetRow(0).GetCell(7).SetCellValue("*RWS" + dr["PT_Task_Id"].ToString() + "*");//任务书条形码    
                    sheet.GetRow(3).GetCell(0).SetCellValue(dr["PT_Input_Time"].ToString());//接单日期      
                    sheet.GetRow(3).GetCell(1).SetCellValue(dr["BM_Code"].ToString());//产品名称      
                    sheet.GetRow(3).GetCell(2).SetCellValue(dr["BC_Name"].ToString());//客户名称      
                    sheet.GetRow(3).GetCell(3).SetCellValue(dr["PT_Num_Plan"].ToString());//产量    
                    sheet.GetRow(3).GetCell(5).SetCellValue(dr["PT_Batch"].ToString());//批号    
                    sheet.GetRow(3).GetCell(8).SetCellValue(dr["BK_Code"].ToString());//釜编号    
                    sheet.GetRow(30).GetCell(2).SetCellValue(dr["BM_Code"].ToString());//物料编号    
我这个打开模版直接get然后set,你试试我这种不CreateCell看看
ROGER DENG 2020-08-26
  • 打赏
  • 举报
回复
感谢答复。 因为本人需要写入不同的cell,每个cell格式都不同(也就是说对cell写入内容,保留cell原有格式)。 是需要每次读取cell格式,写完内容以后,以后再把原格式赋值吗?
datafansbj 2020-08-26
  • 打赏
  • 举报
回复
// 定义样式
ICellStyle cellStyle = workbook.CreateCellStyle();
IFont font = workbook.CreateFont();
font.FontName = "宋体";
font.FontHeightInPoints = 9;
cellStyle.SetFont(font);
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
cellStyle.VerticalAlignment = VerticalAlignment.Top;
cellStyle.WrapText = true;

// 创建单元格
ISheet sheet = workbook.CreateSheet("导出表");
IRow newRow = sheet.CreateRow(0);
newCell = newRow.CreateCell(1);

// 应用样式
newCell.CellStyle = cellStyle;
ROGER DENG 2020-08-26
  • 打赏
  • 举报
回复
付代码: using (var fileStream = new FileStream(strFileName, FileMode.OpenOrCreate)) { IRow headRow = sheet.CreateRow(startline); for (int i = 0; i < dt.Columns.Count; i++) { ICell cell = headRow.CreateCell(i); //ICell cell = headRow.GetCell(i); string realcolumn = OperateIniFile.ReadIniData("relationship", columnsintb[i], ""); cell.SetCellValue(realcolumn == null ? "" : realcolumn);//这里改成对应的key即可 } if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { IRow newRow = sheet.CreateRow(i + 1 + startline);//row从第1行开始写,并非第0行,第0行为title. // IRow newRow = sheet.GetRow(i + 1 + startline); for (int j = 0; j < dt.Columns.Count; j++) { ICell cell = newRow.CreateCell(j); //ICell cell = newRow.GetCell(j); cell.SetCellValue(dt.Rows[i][j] == null ? "" : dt.Rows[i][j].ToString()); } } } workbook.Write(fileStream); workbook.Clear(); workbook.Close(); }

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧