C# 使用OpenXML将Word docx转换为Excel
有没有办法将我有一些表格的Word文档转换成Excel文件? 转换表将非常有用 诸如此类:C# 使用OpenXML将Word docx转换为Excel,c#,excel,ms-word,openxml,C#,Excel,Ms Word,Openxml,有没有办法将我有一些表格的Word文档转换成Excel文件? 转换表将非常有用 诸如此类: 使用OpenXML打开Word文档 查找所有表xml标记 复制xml标记 创建Excel文件 将表格中的xml标记从Word插入新的Excel文件 我是说 void OpenWordDoc(string filePath) { _documentWord = SpreadsheetDocument.Open(filePath, true); } List<string> GetAllTa
- 使用OpenXML打开Word文档
- 查找所有表xml标记
- 复制xml标记
- 创建Excel文件
- 将表格中的xml标记从Word插入新的Excel文件
void OpenWordDoc(string filePath)
{
_documentWord = SpreadsheetDocument.Open(filePath, true);
}
List<string> GetAllTablesXMLTags()
{
//find and copy
}
List<string> CreateExcelFile(string filePath)
{
TemplateExcelDocument excelDocument = new TemplateExcelDocument();
_documentExcel = excelDocument.CreatePackage(filePath);
}
void InsertXmlTagsToExcelFile(string filePath)
{
CreateExcelFiles(filePath);
var xmlTable = GetAllTablesXMLTags();
// ... insert to _documentExcel
}
void OpenWordDoc(字符串文件路径)
{
_documentWord=电子表格文档.Open(filePath,true);
}
列出GetAllTablesXMLTags()
{
//查找并复制
}
列表CreateExcelFile(字符串文件路径)
{
TemplateExcelDocument excelDocument=新建TemplateExcelDocument();
_documentExcel=excelDocument.CreatePackage(文件路径);
}
void InsertXmlTagsToExcelFile(字符串文件路径)
{
创建Excel文件(文件路径);
var xmlTable=GetAllTablesXMLTags();
//…插入到_documentExcel
}
要获取docx文件中的所有表格,可以使用以下代码:
using System;
using Independentsoft.Office;
using Independentsoft.Office.Word;
using Independentsoft.Office.Word.Tables;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
WordDocument doc = new WordDocument("c:\\test.docx");
Table[] tables = doc.GetTables();
foreach (Table table in tables)
{
//read data
}
}
}
}
要将它们写入excel文件,必须对每个单元格执行以下操作:
app.Visible = false;
workbooks = app.Workbooks;
workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
sheets = workbook.Worksheets;
worksheet = (_Worksheet)sheets.get_Item(1);
excel(row, column, "value");
workbook.Saved = true;
workbook.SaveAs(output_file);
app.UserControl = false;
app.Quit();
最后,excel函数如下所示:
public void excel(int row, int column, string value)
{
worksheet.Cells[row, column] = value;
}
您还可以使用CSV
或HTML
格式创建excel文件。为此,只需创建一个文件example.xlsx
,其中包含CSV逗号删除的内容:
col1,col2,col3,col4\n
val1、val2、val3val4\n
或HTML格式:
<table>
<tr>
<td>col1</td>
<td>col2</td>
<td>col3</td>
</tr>
<tr>
<td>val1</td>
<td>val2</td>
<td>val3</td>
</tr>
</table>
可乐
可乐
可乐
瓦尔1
瓦尔2
val3
您的步骤是正确的
我想和大家分享一些sdk文档,希望对大家有所帮助:
处理单词表时:
处理excel表格时:
不幸的是,我需要类似的函数,但使用的是OpenXML