有没有办法将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
}
答案 0 :(得分:2)
你的步骤是正确的。
我想分享一些sdk文档,希望它在某种程度上有所帮助:
处理单词表时:
Working with WordprocessingML tables (Open XML SDK)
处理Excel表时:
答案 1 :(得分:1)
要获取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文件。要做到这一点,只需使用CSV逗号分隔的内容创建一个文件example.xlsx
:
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>