Word .NET庫(kù)組件Spire.Doc系列教程(30): 在Word中導(dǎo)入Excel表格
Spire.Doc for .NET是一個(gè)專業(yè)的Word .NET庫(kù),設(shè)計(jì)用于幫助開發(fā)人員高效地開發(fā)創(chuàng)建、閱讀、編寫、轉(zhuǎn)換和打印任何來(lái)自.NET( C#, VB.NET, ASP.NET)平臺(tái)的Word文檔文件的功能。
本系列教程將為大家?guī)?lái)Spire.Doc for .NET在使用過(guò)程中的各類實(shí)際操作,本篇文章介紹了如何在Word中導(dǎo)入Excel表格以及如何在表格中插入圖片。>>下載Spire.Doc最新試用版體驗(yàn)
C# 將 Excel 表格導(dǎo)入 Word
要將Excel表格顯示在Word文檔中,我們可以將Excel文檔作為OLE對(duì)象插入Word,也可以將Excel表格復(fù)制到Word中。下面介紹如何將Excel表格復(fù)制到Word并保留Excel中的表格樣式。
此方案需要在項(xiàng)目中同時(shí)引用Spire.Xls.dll和Spire.Doc.dll,請(qǐng)下載Spire.Office并使用其中的DLL文件。
static void Main(string[] args) { //創(chuàng)建Workbook對(duì)象 Workbook workbook = new Workbook(); //加載Excel文檔 workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx"); //獲取第一個(gè)工作表 Worksheet sheet = workbook.Worksheets[0]; //創(chuàng)建Document對(duì)象,即Word文檔 Document doc = new Document(); //在Word中添加表格 Table table = doc.AddSection().AddTable(true); //根據(jù)Excel表格數(shù)據(jù)所占的行數(shù)和列數(shù)設(shè)置表格的行和列 table.ResetCells(sheet.LastRow, sheet.LastColumn); //遍歷Excel表格的行 for (int r = 1; r <= sheet.LastRow; r++) { //遍歷Excel表格的列 for (int c = 1; c <= sheet.LastColumn; c++) { //獲取Excel表格的單元格 CellRange xCell = sheet.Range[r, c]; //獲取Word表格的單元格 TableCell wCell = table.Rows[r - 1].Cells[c - 1]; //將Excel單元格數(shù)據(jù)填充到對(duì)應(yīng)的Word單元格 TextRange textRange = wCell.AddParagraph().AppendText(xCell.NumberText); //復(fù)制單元格格式 CopyStyle(textRange, xCell, wCell); } } //保存文檔 doc.SaveToFile("result.docx", Spire.Doc.FileFormat.Docx); } ////// 復(fù)制單元格格式 //////Word表格:?jiǎn)卧駭?shù)據(jù)///Excel表格:?jiǎn)卧?//Word表格:?jiǎn)卧駊rivate static void CopyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell) { //復(fù)制字體樣式 wTextRange.CharacterFormat.TextColor = xCell.Style.Font.Color; wTextRange.CharacterFormat.FontSize = (float)xCell.Style.Font.Size; wTextRange.CharacterFormat.FontName = xCell.Style.Font.FontName; wTextRange.CharacterFormat.Bold = xCell.Style.Font.IsBold; wTextRange.CharacterFormat.Italic = xCell.Style.Font.IsItalic; //復(fù)制單元格背景色 wCell.CellFormat.BackColor = xCell.Style.Color; //復(fù)制文字對(duì)齊方式 switch (xCell.HorizontalAlignment) { case HorizontalAlignType.Left: wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left; break; case HorizontalAlignType.Center: wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center; break; case HorizontalAlignType.Right: wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right; break; } }
C# 在 word 表格中插入圖片
Spire.Doc 提供 TableCollection 類,我們可以獲取指定的表格,然后調(diào)用 DocPicture Paragraph.AppendPicture(Image image) 方法插入圖片到單元格。
//創(chuàng)建一個(gè)document實(shí)例并加載示例文檔 Document doc = new Document(); doc.LoadFromFile("Sample.docx"); //獲取第一個(gè)table Table table1 = (Table)doc.Sections[0].Tables[0]; //插入圖片到表格并設(shè)置圖片寬度和高度 DocPicture picture = table1.Rows[1].Cells[2].Paragraphs[0].AppendPicture(Image.FromFile("Logo.png")); picture.Width = 110; picture.Height = 90; //保存文檔 doc.SaveToFile("Result.docx", FileFormat.Docx);
*購(gòu)買Spire.Doc正版授權(quán)的朋友可以點(diǎn)擊"咨詢?cè)诰€客服"哦~~