翻譯|使用教程|編輯:李顯亮|2019-08-26 10:17:57.583|閱讀 997 次
概述:本系列教程將為大家帶來Spire.Doc for .NET在使用過程中的各類實際操作,本篇文章介紹了如何在Word中導入Excel表格以及如何在表格中插入圖片。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Spire.Doc for .NET是一個專業的Word .NET庫,設計用于幫助開發人員高效地開發創建、閱讀、編寫、轉換和打印任何來自.NET( C#, VB.NET, ASP.NET)平臺的Word文檔文件的功能。
本系列教程將為大家帶來Spire.Doc for .NET在使用過程中的各類實際操作,本篇文章介紹了如何在Word中導入Excel表格以及如何在表格中插入圖片。>>下載Spire.Doc最新試用版體驗
要將Excel表格顯示在Word文檔中,我們可以將Excel文檔作為OLE對象插入Word,也可以將Excel表格復制到Word中。下面介紹如何將Excel表格復制到Word并保留Excel中的表格樣式。
此方案需要在項目中同時引用Spire.Xls.dll和Spire.Doc.dll,請下載Spire.Office并使用其中的DLL文件。
static void Main(string[] args) { //創建Workbook對象 Workbook workbook = new Workbook(); //加載Excel文檔 workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx"); //獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0]; //創建Document對象,即Word文檔 Document doc = new Document(); //在Word中添加表格 Table table = doc.AddSection().AddTable(true); //根據Excel表格數據所占的行數和列數設置表格的行和列 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單元格數據填充到對應的Word單元格 TextRange textRange = wCell.AddParagraph().AppendText(xCell.NumberText); //復制單元格格式 CopyStyle(textRange, xCell, wCell); } } //保存文檔 doc.SaveToFile("result.docx", Spire.Doc.FileFormat.Docx); } ////// 復制單元格格式 //////Word表格:單元格數據///Excel表格:單元格///Word表格:單元格private static void CopyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell) { //復制字體樣式 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; //復制單元格背景色 wCell.CellFormat.BackColor = xCell.Style.Color; //復制文字對齊方式 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; } }
Spire.Doc 提供 TableCollection 類,我們可以獲取指定的表格,然后調用 DocPicture Paragraph.AppendPicture(Image image) 方法插入圖片到單元格。
//創建一個document實例并加載示例文檔 Document doc = new Document(); doc.LoadFromFile("Sample.docx"); //獲取第一個table Table table1 = (Table)doc.Sections[0].Tables[0]; //插入圖片到表格并設置圖片寬度和高度 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);
*購買Spire.Doc正版授權的朋友可以點擊哦~~
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn