首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式创建OOXML严格文档

如何以编程方式创建OOXML严格文档
EN

Stack Overflow用户
提问于 2022-04-20 13:08:37
回答 1查看 118关注 0票数 2

在使用“另存为”而不是将其保存为默认的过渡OOXML文件时,可以在Excel文件类型下拉中手动将Excel电子表格保存为“严格打开XML”文件。对于OOXML标准的严格文件格式和过渡文件格式变体,文件格式都是相同的.xlsx。

如何通过自动化工作流(例如C# )以编程方式完成相同的工作?其目的是将过渡Excel文件批量转换为严格的Excel文件。

我发现这些代码片段是Office的一部分:

我是否可以使用它们或其他方法进行从过渡到严格的批量转换?

更新:我正在与本期中Open的开发人员对话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 11:34:21

我在深入研究后发现,唯一可能的方法是使用Excel.Interop并让您的Excel安装在后台处理转换。这不是一个很好的解决方案,因为它依赖于Excel,但它是一种编程方法。

您可以在这里找到Excel.Interop包:https://www.nuget.org/packages/Microsoft.Office.Interop.Excel

我遇到了一个问题,包找不到我的Excel安装,所以我不得不在您的计算机上重新引用Excel。Add reference > Browse > C:\Windows\assembly\GAC\Microsoft.Office.Interop.Excel并从此处的文件夹中选择DLL。我还从这个路径C:\Windows\assembly\GAC_MSIL\office的子文件夹中添加了DLL。

转换码

代码语言:javascript
复制
using Excel = Microsoft.Office.Interop.Excel;

void Convert_Transitional_to_Strict(string input_filepath, string output_filepath)
{
    Excel.Application app = new Excel.Application(); // Create Excel instance
    app.DisplayAlerts = false; // Don't display any Excel prompts
    Excel.Workbook excelWorkbook = app.Workbooks.Open(input_filepath); // Create workbook instance and open Excel Workbook for conversion
    excelWorkbook.SaveAs(output_filepath, 61); // Save file as .xlsx Strict
    excelWorkbook.Close(); // Close the Workbook
    app.Quit(); // Quit Excel Application
}

PS。如果有人找到使用Open或其他C#框架的编程方法,请仍然发布您的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71940270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档