gpt4 book ai didi

excel - 打开使用 SpreadSheetGear 创建的 xlsx 文件

转载 作者:行者123 更新时间:2023-12-04 21:24:27 25 4
gpt4 key购买 nike

我使用 SpreadSheetGear 创建了一个简单的 Excel 文件。如果我将其保存为 xls 文件

workbook.SaveAs("file.xls", SpreadsheetGear.FileFormat.Excel8);

并将其附加到电子邮件中,我可以在手机上打开它(已在 iPhone 和 Android 上测试过)。

如果我将其保存为 xlsx 文件
workbook.SaveAs("file.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook);

并将其附加到电子邮件中,我无法在手机上打开它。

如果我在我的计算机上打开 xlsx 文件附件并保存它而不做任何更改并将其附加到电子邮件中,我现在可以在我的手机上打开它。

显然,Excel 保存文件的方式与 SSG 不同。 xlsx 文件附件的文件大小为 9 KB。当我在电脑上打开并保存时,新文件大小为 24 KB。

我的一些用户更喜欢 xlsx 格式。我可以做些什么来使 SSG 生成的文件附件像 Excel 生成的文件附件一样打开?

最佳答案

iOS 依赖于 Open XML 文件格式的工作表数据中存在的某些属性来正确解析这些文件。 SpreadsheetGear 不会写出这些属性,因为它们在 Open XML 文件格式规范中被列为可选,而且,正如您所指出的,省略它们会减小文件大小。无论出于何种原因,Excel 总是会写出这些可选属性,而其他第三方组件通常依赖于它们的存在才能正常运行。 SpreadsheetGear V5 添加了一种解决方法,通过启用某个“实验”选项来写出这些属性。添加此选项是因为 OLE DB 提供程序也表现出这种错误行为。您可以尝试以下方法,看看这是否有助于让 SpreadsheetGear 更好地与您的查看器一起工作:

IWorkbookSet workbookSet = Factory.GetWorkbookSet();
workbookSet.Experimental = "OleDbOpenXmlWorkaround";
IWorkbook workbook = workbookSet.Workbooks.Open(@"C:\temp\BadWorkbook.xlsx");
workbook.SaveAs(@"C:\temp\GoodWorkbook.xlsx", FileFormat.OpenXMLWorkbook);

请参阅 SpreadsheetGear.IWorkbookSet。 Experimental属性以获取有关此功能的更多信息。

据我所知,iOS/Andriod/etc 通常还依赖于 SpreadsheetGear 不支持或默认写入的文件格式中可用的其他某些可选功能。例如,iOS 依靠存储在图表中的“数据缓存”来显示图表系列数据点,而 SpreadsheetGear 对写出此数据缓存的支持是有限的。这可能会导致图表在 iOS、Android 等中无法按预期显示。

关于excel - 打开使用 SpreadSheetGear 创建的 xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com