使用 C# 和 BizTalk 将 Excel (xlsx) 转换为 XML

2024-01-29

我已经查看了该论坛上有关类似问题的大多数主题,但尚未找到我正在寻找的内容。

我正在尝试编写一个管道组件BizTalk 2013 R2使用 C# 简单地转换传入的Excel 2010 .xlsx文件到它的裸/基本 XML 表示形式。

我不想针对它运行任何模板或 XSLT 转换它或类似的东西。我只是想按原样返回所述电子表格的底层 XML 表示形式。

看起来这应该是一个非常简单的任务,但我根本不知道如何去做。

我发现的一切都需要与DataTables并循环遍历行和单元格(通过OpenXML)以输出更易于人类阅读的特定 XML 表示形式,但这不是我想要的。

我想要该电子表格的实际 Microsoft XML 表示形式。

任何帮助将不胜感激。


好的,无需解压文件就可以解决这个问题。

如果您使用 SAX 方法将工作表加载到OpenXmlReader在这里找到:

https://msdn.microsoft.com/en-us/library/office/gg575571(v=office.15).aspx https://msdn.microsoft.com/en-us/library/office/gg575571(v=office.15).aspx

然后您可以使用阅读器来获取OuterXml像这样:

using (SpreadsheetDocument spreadSheetDocument = SpreadsheetDocument.Open(filepath, false))
{
    WorkbookPart wbPart = spreadSheetDocument.WorkbookPart;

    OpenXmlReader reader = OpenXmlReader.Create(wbPart);

    while (reader.Read())
    {
        if (reader.ElementType == typeof(Sheet))
        {
            Sheet sheet = (Sheet)reader.LoadCurrentElement();

            WorksheetPart wsPart = (WorksheetPart)(wbPart.GetPartById(sheet.Id));

            OpenXmlReader wsReader = OpenXmlReader.Create(wsPart);
            while (wsReader.Read())
            {
                if(wsReader.ElementType == typeof(Worksheet))
                {
                    Worksheet wsPartXml = (Worksheet)wsReader.LoadCurrentElement();
                    Console.WriteLine(wsPartXml.OuterXml + "\n");
                }
            }
        }
    }
    Console.ReadKey();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 和 BizTalk 将 Excel (xlsx) 转换为 XML 的相关文章

随机推荐

  • 有没有办法生成 iOS 表情符号的高分辨率 PNG?

    我已经能够从 iOS 找到 160x160 像素的表情符号 PNG 实际上是 WhatsApp 但它们大致是同一组 但当我将它们导入 XCode 7 时 它们仅显示为 1x 有没有办法使用 Photoshop OS X 或类似工具来创建高分
  • 处理 Quiz Angular 5 中的多个单选按钮

    我是 Angular 新手 正在实施包含多个 MCQ 的测验 但我在选择单选按钮时遇到了麻烦 我的问题也来自数据库和选项 mcq component html
  • 将参数传递给在 docker 容器中运行的 python 脚本

    假设以下设置 网站用 php laravel 编写 用户上传文件 文本 doc pdf 我们有一个 docker 容器 其中包含一个用于将文本转换为 numpy 数组的 python 脚本 我想获取上传的数据并将其传递给 python 脚本
  • 如何在地图上仅显示半径(圆)内的标记?

    所有标记都显示在基于 Firebase 数据纬度和经度的地图上 我想仅在地图上显示圆圈内的标记 当前位置的圆圈半径为 10 公里 这就是我显示 Firebase 中所有标记的方式 LatLng newlocation new LatLng
  • 如何在不使用 bootstrap 的情况下更改 html 和 CSS 中日期选择器/日历图标的位置

    我使用的日历图标 日期选择器默认设置在右侧 输入字段的末尾 我想将日历图标 日期选择器移动到输入字段的开头 我尝试更改它 但无法获得适当的属性来更改它 请任何人都可以帮忙改变它 我正在添加现在看起来像的图片 https i stack im
  • 尝试使引导模式更广泛

    我正在使用这段代码 但模态太薄 div class modal fade bs example modal lg custom modal div class modal dialog modal lg div class modal co
  • 使用魔法位板生成滑动移动

    这是一个关于如何使用魔法位板验证国际象棋中的滑动棋子移动的大局的问题 只是为了澄清 我不是在问how魔法位板在内部工作 现在 关于这个问题的更多细节 我正在使用位板编写棋盘表示 并且我想使用魔术位板验证滑动棋子的移动 有人可以列出如何实现这
  • Elasticsearch - 我需要 JDBC 驱动程序吗?

    Aim 将我的 Elasticsearch 服务器与 SQL 数据库中的新数据和过期数据同步 Issue 我可以通过两种截然不同的方法来实现这一目标 但我不知道哪种方法更好 我也可以pull使用 JDBC River 插件直接连接到 SQL
  • 如何使用 ctypes 读取多字节值

    我想使用 ctypes 结构和联合从字节对象中读取两个连续的 24 位值 这将是 6 个字节 不幸的是 ctypes 读取每个值 32 位 还 sizeof报告结构比预期大 Using pack 1没有带来预期的结果 具有最小结构和二进制示
  • Android GPS 查询位置数据不正确

    我没有为此使用模拟位置 事实上 代码上周运行良好 我有一个应用程序 它收集 GPS 数据并使用应用程序本身生成的 X Y 坐标输出谷歌地图链接 我不是 100 确定为什么它没有按应有的方式工作 但是当我请求应用程序根据手机提供的 GPS 位
  • 有没有办法让 CGAL 的折线简化适用于内部/共享边界?

    我一直在尝试借助此方法对属于地图的多边形进行线条简化CGAL指南 https doc cgal org latest Polyline simplification 2 index html 例如韩国 这是一个韩国截图 https i st
  • Ruby on Rails:从另一个模型调用实例方法

    我有一个比赛模型和一个团队模型 我想在保存比赛后运行一个实例方法 在团队模型内编写 这就是我所拥有的 team rb def goals sum unless goal count cache goal count a goals sum
  • 如何检查系统音频是否静音?

    I found 这个答案 https stackoverflow com a 40545562 15498建议使用 核心音频 dll API https www dllme com dll files coreaudioapi dll ht
  • GWT:如何使用 UIBinder 在 Anchor 中嵌入小部件

    我想在 UIBinder 中使用以下内容 以便我可以以编程方式设置href我的代码中的链接
  • Visual Studio C++ 中的 msmpi.dll 错误消息

    我正在研究 mpi 但我一直收到此错误消息 程序无法启动 因为您的计算机缺少 msmpi dll 尝试 重新安装程序以解决此问题 所以我的问题是 卸载Visual Studio并重新安装可以解决这个问题吗 或者我应该使用电脑修复工具包程序和
  • 从表单应用程序 c# 启动停止服务

    如何从 C 表单应用程序启动和停止 Windows 服务 添加参考System ServiceProcess dll 然后您可以使用服务控制器 http msdn microsoft com en us library yb9w7ytd c
  • 如何避免在 Apollo Server V2 的错误响应中将错误集合包装在错误对象中

    我们正在将 Apollo Graphql Server v1 项目迁移到 v2 我们注意到错误响应格式发生了变化 在 v2 中 响应中的错误列表包含在错误对象中 但是 在 v1 中 情况并非如此 我们希望有一个一致的标准 并且不在 v2 中
  • 什么是 Array.map(Function.call,Number)

    var array1 1 4 9 16 map1 array1 map Function call Number 为什么map1的输出是 0 1 2 3 这个map函数是做什么的 Array prototype map https deve
  • Android 周期性 JobService 永远不会启动

    我有一个 JobService 我想定期启动它 目前 为了进行测试 我正在使用一个简单的 public class SenderService extends JobService Override public boolean onSta
  • 使用 C# 和 BizTalk 将 Excel (xlsx) 转换为 XML

    我已经查看了该论坛上有关类似问题的大多数主题 但尚未找到我正在寻找的内容 我正在尝试编写一个管道组件BizTalk 2013 R2使用 C 简单地转换传入的Excel 2010 xlsx文件到它的裸 基本 XML 表示形式 我不想针对它运行