C#使用Aspose.Words将Spread表格插入到Word中
注:Word中每个表格只有一行,固定第一行为表头,先复制表头N行追加到表格后,保证每行的格式与表头一致。
封装方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | private void SheetToTable(FarPoint.Win.Spread.SheetView sheet, Document doc, Table table, int beginRow) { //先复制出所有行,保证每行的格式都是一致的 for ( int i = beginRow; i < sheet.RowCount; i++) { Row oneRow = (Row)table.Rows[table.Rows.Count - 1].Clone( true ); table.Rows.Insert(table.Rows.Count, oneRow); } //从第二行开始进行数据填充 for ( int i = beginRow; i < table.Rows.Count; i++) { //先统一设置一下行高,后续给单元格赋值时会自动撑开 table.Rows[i].RowFormat.Height = 20; for ( int j = 0; j < sheet.ColumnCount; j++) { table.Rows[i].Cells[j].ChildNodes.Clear(); Paragraph p = new Paragraph(doc); p.AppendChild( new Run(doc, sheet.Cells[i, j].Text)); table.Rows[i].Cells[j].AppendChild(p); } } }<br> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /// <summary> /// 设置指定单元格的文本 /// </summary> /// <param name="doc"></param> /// <param name="cell"></param> /// <param name="text"></param> public static void SetCellText(Document doc,Cell cell, string text) { cell.RemoveAllChildren(); cell.Paragraphs.Add( new Paragraph(doc)); Run run = new Run(doc, text); run.Font.Name = "宋体" ; run.Font.Size = 8; cell.LastParagraph.Runs.Add(run); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!