网站建设专业课程帮开设赌场的网站做美工

张小明 2026/1/10 10:39:24
网站建设专业课程,帮开设赌场的网站做美工,响应式网站建设信息,高端定制app开发在企业办公和文档自动化场景中#xff0c;Word 和 Excel 是最常用的两种文档格式。Word 更适合撰写说明性文本和排版复杂的内容#xff0c;而 Excel 则擅长结构化数据处理、统计与分析。在实际开发中#xff0c;我们经常会遇到这样的需求#xff1a; 将 Word 文档中的内容Word 和 Excel 是最常用的两种文档格式。Word 更适合撰写说明性文本和排版复杂的内容而 Excel 则擅长结构化数据处理、统计与分析。在实际开发中我们经常会遇到这样的需求将 Word 文档中的内容包括段落、表格、样式甚至图片转换为 Excel 文件以便后续分析或存档。本文将介绍如何使用Spire.Doc for .NET和Spire.XLS for .NET通过 C# 实现一个较为完整的 Word 转 Excel 方案并尽可能保留原有的文本样式、表格结构和图片内容。实现思路概述Word 文档的内容结构相对复杂主要由以下几类对象组成段落Paragraph表格Table文本范围TextRange图片DocPicture而 Excel 的核心结构则是工作簿Workbook工作表Worksheet单元格CellRange富文本RichText因此转换的基本思路是读取 Word 文档遍历文档中的 Section按顺序处理段落和表格将段落内容写入 Excel 单元格将 Word 表格逐行、逐列映射到 Excel复制文本样式、对齐方式和图片。加载 Word 并创建 Excel 工作簿程序首先创建 Document 对象并加载 Word 文件然后创建一个 Workbook并清除默认工作表确保输出结果更加干净、可控。Document doc new Document(); doc.LoadFromFile(C:\Users\Administrator\Desktop\Invoice.docx); Workbook wb new Workbook(); wb.Worksheets.Clear(); Worksheet worksheet wb.CreateEmptySheet(WordToExcel);通过这种方式我们可以确保 Word 的内容被统一写入到一个指定的工作表中。遍历 Word 文档内容Word 文档可能包含多个 Section每个 Section 中又包含段落和表格。代码通过双层循环依次读取这些对象如果是段落Paragraph直接写入 Excel 的单个单元格如果是表格Table则调用专门的方法导出为多行多列。foreach (Section section in doc.Sections) { foreach (DocumentObject documentObject in section.Body.ChildObjects) { if (documentObject is Paragraph) { // 写入段落 } if (documentObject is Table) { // 导出表格 } } }这样可以最大程度保持 Word 中原有内容的顺序。导出 Word 表格到 Excel对于 Word 表格程序逐行遍历 TableRow再逐列遍历 TableCell并将内容写入 Excel 对应的单元格中。同时为了让 Excel 看起来更清晰还为每个单元格添加了边框cell.BorderAround(LineStyleType.Thin, Color.Black);表格中的文本、换行符以及样式都会被完整复制确保数据的可读性。复制文本样式与图片这是整个转换过程中的核心部分。程序通过 RichText 对象将 Word 中不同 TextRange 的字体名称、字号、颜色、加粗状态逐一映射到 Excel字体名称FontName字号FontSize是否加粗Bold字体颜色TextColor同时如果在段落中检测到图片DocPicture会直接将图片插入到 Excel 对应的单元格位置并根据图片高度自动调整行高从而避免图片被遮挡。对齐方式与格式优化为了进一步提升转换质量代码还处理了段落的对齐方式将 Word 中的左对齐、居中、右对齐映射到 Excel 单元格样式中。此外在所有内容写入完成后还统一执行了以下操作自动调整行高和列宽启用单元格自动换行这一步能显著提升生成 Excel 文件的整体可读性。保存为 Excel 文件最后将生成的工作簿保存为 Excel 2013 格式文件wb.SaveToFile(WordToExcel.xlsx, ExcelVersion.Version2013);至此一个包含段落、表格、样式和图片的 Excel 文件就成功生成了。完整示例代码C# 将 Word 转换为 Excelusing Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using Spire.Xls; using System; using System.Drawing; namespace ConvertWordToExcel { class Program { static void Main(string[] args) { // 创建 Document 对象 Document doc new Document(); // 加载 Word 文档 doc.LoadFromFile(C:\Users\Administrator\Desktop\Invoice.docx); // 创建 Workbook 对象 Workbook wb new Workbook(); // 移除默认工作表 wb.Worksheets.Clear(); // 创建一个名为“WordToExcel”的工作表 Worksheet worksheet wb.CreateEmptySheet(WordToExcel); int row 1; int column 1; // 遍历 Word 文档中的所有 Section foreach (Section section in doc.Sections) { // 遍历 Section 中的所有文档对象 foreach (DocumentObject documentObject in section.Body.ChildObjects) { // 如果对象是段落 if (documentObject is Paragraph) { CellRange cell worksheet.Range[row, column]; Paragraph paragraph documentObject as Paragraph; // 将段落内容及样式复制到 Excel 单元格 CopyTextAndStyle(cell, paragraph); row; } // 如果对象是表格 if (documentObject is Table) { Table table documentObject as Table; // 将 Word 表格导出到 Excel int currentRow ExportTableInExcel(worksheet, row, table); row currentRow; } } } // 自动调整行高和列宽 worksheet.AllocatedRange.AutoFitRows(); worksheet.AllocatedRange.AutoFitColumns(); // 设置单元格自动换行 worksheet.AllocatedRange.IsWrapText true; // 保存为 Excel 文件 wb.SaveToFile(WordToExcel.xlsx, ExcelVersion.Version2013); } /// summary /// 将 Word 表格数据导出到 Excel /// /summary private static int ExportTableInExcel(Worksheet worksheet, int row, Table table) { CellRange cell; int column; // 遍历表格中的每一行 foreach (TableRow tbRow in table.Rows) { column 1; // 遍历当前行中的每一个单元格 foreach (TableCell tbCell in tbRow.Cells) { cell worksheet.Range[row, column]; // 为 Excel 单元格添加边框 cell.BorderAround(LineStyleType.Thin, Color.Black); // 复制 Word 表格单元格内容到 Excel CopyContentInTable(tbCell, cell); column; } row; } return row; } /// summary /// 将 Word 表格单元格中的内容复制到 Excel 单元格 /// /summary private static void CopyContentInTable(TableCell tbCell, CellRange cell) { // 创建一个新的段落对象 Paragraph newPara new Paragraph(tbCell.Document); // 遍历 Word 表格单元格中的所有子对象 for (int i 0; i tbCell.ChildObjects.Count; i) { DocumentObject documentObject tbCell.ChildObjects[i]; if (documentObject is Paragraph) { Paragraph paragraph documentObject as Paragraph; // 复制段落中的所有子对象文本、图片等 foreach (DocumentObject cObj in paragraph.ChildObjects) { newPara.ChildObjects.Add(cObj.Clone()); } // 如果不是最后一个段落则添加换行符 if (i tbCell.ChildObjects.Count - 1) { newPara.AppendText(\n); } } } // 将合并后的段落内容复制到 Excel CopyTextAndStyle(cell, newPara); } /// summary /// 复制段落的文本内容和样式到 Excel 单元格 /// /summary private static void CopyTextAndStyle(CellRange cell, Paragraph paragraph) { RichText richText cell.RichText; // 设置单元格文本内容 richText.Text paragraph.Text; int startIndex 0; // 遍历段落中的子对象 foreach (DocumentObject documentObject in paragraph.ChildObjects) { // 如果是文本内容 if (documentObject is TextRange) { TextRange textRange documentObject as TextRange; // 获取 Word 文本样式 string fontName textRange.CharacterFormat.FontName; bool isBold textRange.CharacterFormat.Bold; Color textColor textRange.CharacterFormat.TextColor; float fontSize textRange.CharacterFormat.FontSize; string textRangeText textRange.Text; int strLength textRangeText.Length; // 创建 Excel 字体 ExcelFont font cell.Worksheet.Workbook.CreateFont(); font.Color textColor; font.IsBold isBold; font.Size fontSize; font.FontName fontName; // 应用字体样式到指定文本范围 int endIndex startIndex strLength; richText.SetFont(startIndex, endIndex, font); startIndex strLength; } // 如果是图片 if (documentObject is DocPicture) { DocPicture picture documentObject as DocPicture; // 将图片插入到 Excel 单元格 cell.Worksheet.Pictures.Add(cell.Row, cell.Column, picture.Image); // 根据图片高度调整行高 cell.Worksheet.SetRowHeightInPixels(cell.Row, 1, picture.Image.Height); } } // 设置 Excel 单元格的水平对齐方式 switch (paragraph.Format.HorizontalAlignment) { case HorizontalAlignment.Left: cell.Style.HorizontalAlignment HorizontalAlignType.Left; break; case HorizontalAlignment.Center: cell.Style.HorizontalAlignment HorizontalAlignType.Center; break; case HorizontalAlignment.Right: cell.Style.HorizontalAlignment HorizontalAlignType.Right; break; } } } }总结通过本文示例可以看出借助Spire.Doc for .NET与Spire.XLS for .NET我们可以使用 C# 高效地实现 Word 到 Excel 的转换并且在转换过程中保留文本内容与顺序还原字体样式和对齐方式完整导出表格结构支持图片复制这种方案非常适合用于发票转换、报表整理、文档数据结构化处理等场景。如果你正在开发文档自动化或企业级办公系统这种 Word 转 Excel 的实现方式将具有很高的实用价值。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

哪里有零基础网站建设教学有赞微商城登陆

第一章:物流量子 Agent 的路径优化在现代物流系统中,路径优化是提升运输效率、降低能耗的核心挑战。传统的路径规划算法如 Dijkstra 或 A* 在面对大规模动态网络时存在计算复杂度高、响应慢等问题。物流量子 Agent 引入了基于量子计算思想的智能优化机制…

张小明 2026/1/10 10:00:15 网站建设

房产网站方案学校网站模板大全

Ubuntu 软件与游戏使用指南 一、OpenOffice.org 软件介绍 OpenOffice.org 是一套功能强大的办公软件套件,可与其他商业套件相媲美。它是开源软件,有众多开发者持续对其更新,自 2006 年以来每年至少更新四次。 (一)任务框架(The Tasks Frame) 任务框架提供了各种任务…

张小明 2026/1/10 10:00:16 网站建设

找建设网站如何把网站推广

提升开发效率的实战指南:vivado2025深度调优配置全解析你有没有遇到过这种情况——打开一个中等规模的FPGA工程,Vivado卡在“Loading project”界面足足半分钟?写代码时输入一个信号名,补全提示要等两秒才弹出来?改了一…

张小明 2026/1/10 10:00:16 网站建设

做h网站怎么才能安全软件商城免费下载安装包

测试 Express 服务器与保障代码安全 1. 使用 SuperTest 测试 Express 服务器 在测试 Express 服务器时,可能会遇到各种错误。例如: - html response returns your User Agent 测试中出现 TypeError: Cannot read property trim of null 。 - plain text response re…

张小明 2026/1/9 10:43:06 网站建设

关于数据机房建设的网站茶叶网站模板

生产管理方法:成组技术与全息制造系统解析 在现代制造领域,提高生产效率、降低成本以及增强系统灵活性是永恒的追求。成组技术(Group Technology,GT)和全息制造系统(Holonic Manufacturing Systems,HMS)作为两种重要的生产管理方法,为实现这些目标提供了有效的途径。…

张小明 2026/1/10 10:00:19 网站建设

个人网站设计论文模板用wordpress搭建目录网站

GPT-SoVITS能否支持实时语音风格迁移? 在短视频创作、虚拟主播和AI配音日益普及的今天,用户不再满足于千篇一律的机械音。他们渴望的是“像自己”的声音——有温度、有个性、能跨语言表达的数字声线。正是在这样的需求推动下,GPT-SoVITS 这一…

张小明 2026/1/10 10:00:20 网站建设