【问题标题】:Flex: Write data to file to open in ExcelFlex:将数据写入文件以在 Excel 中打开
【发布时间】:2010-10-14 12:56:17
【问题描述】:

我有一个带有几个带有数据的 DataGrid 的 Flex 应用程序。我想将数据保存到文件中,以便用户可以继续在 Excel、OpenOffice 或 Numbers 中使用它们。

我目前正在直接编写一个 csv 文件,该文件可以在 OpenOffice 或 Numbers 中很好地打开,但在 Excel 中则无法打开。问题出在瑞典语字符 ÅÄÖ,在 Excel 中打开时会显示为其他字符。将 csv 文件(在 Notepad++ 中)转换为 ANSI 编码使 ÅÄÖ 在 Excel 中正确显示。

有没有办法直接从 Flex 编写 ANSI 编码的文件?

编写可在 Excel 和 OpenOffice 中打开的文件的任何其他选项?

(我查看了 as3xls 库,但根据 cmets 无法在 OpenOffice 中打开这些文件)

【问题讨论】:

  • 你能在服务器端进行转换,而不是在客户端吗?
  • 不,抱歉,该应用程序没有任何网络连接,纯粹是一个桌面应用程序。

标签: apache-flex excel character-encoding


【解决方案1】:

使用 ByteArray 类中的 writeMultiByte 函数可以指定字符集。见:

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/utils/ByteArray.html#writeMultiByte%28%29

【讨论】:

  • 谢谢,这使它在 Excel 和 OpenOffice(可以设置编码)中工作。现在 Numbers 搞混了,但这是一个边缘情况,如果需要,我可以稍后通过 switch 来支持。
【解决方案2】:

http://code.google.com/p/as3xls/ 上还有 as3xls 包的选项。我喜欢这个,因为它是一个直接的 Excel 文件,也可以在开放式办公室中轻松打开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多