我有许多针对我的数据库运行的报告,这些报告最终需要以 Excel 电子表格的形式提供给最终用户。
最初,我创建的是文本报告,但将文本转换为电子表格的步骤有点繁琐。将文本导入电子表格的步骤太多,多行文本行在 Excel 中作为单独的行导入(这是不正确的)。
目前,我正在生成简单的 XML,以“.xls”扩展名保存文件。这样效果更好,但仍然存在 Excel 提示用户 XML import dialogue 的问题。每次他们打开文件时,如果他们添加注释或更改文件布局(他们几乎肯定会这样做),就必须保存一个新文件。
示例“xls”文件:
<?xml version="1.0" standalone="yes"?>
<report_rows>
<row>
<NAME>Test Data</NAME>
<COUNT>345</COUNT>
</row>
<!-- many more row elements... -->
</report_rows>
有没有办法向文件添加标记以提示 Excel 应如何导入和处理文件?理想情况下,最终用户应该能够像他们直接从 Excel 创建的任何其他电子表格一样打开和保存文件。
这可能吗?
更新:
我们在这里运行 Office 2003。
更新:
XML 是从 sqlplus 脚本生成的,这里没有使用 C#/.NET 的选项。
最佳答案
对于 Excel 2003 和 2007,请使用 SpreadSheet XML (XMLSS),这就是它的用途。您会发现这很容易,并且有很多支持和可用的库。此外,由于您已经在生成 XML,您真正需要做的就是创建转换样式表或修改您的代码。您不需要 Excel 来创建 XMLSS。
关于XML 文件作为 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595462/