gpt4 book ai didi

ruby-on-rails - 使用 axlsx gem 生成 Excel 文件时出现 UTF-8 错误

转载 作者:行者123 更新时间:2023-12-04 19:51:39 27 4
gpt4 key购买 nike

我正在尝试使用 axlsx gem生成 Excel 文件。这是一个 Ruby Rails 应用程序,用户可以在浏览器中查看报告,并可以单击链接将数据导出到 Excel。但是,我收到以下错误:

"ArgumentError (invalid byte sequence in UTF-8)."

此错误发生在以下代码行:

p.to_stream.read.

我正在使用 Ruby 1.9.3 和 Rails 2.3.16。我没有序列化或尝试将文件写入磁盘;我只希望 Excel 打开文件,然后用户可以根据需要保存文件。

有没有人见过这个错误?

最佳答案

我在规范中看到了同样的错误。我还没有进一步研究它,但我现在强制编码为二进制:

# …

data = package.to_stream.read

data.force_encoding("BINARY")

expect(data).to be_present

我认为这不是一个好的解决方案,但我将其留在这里作为解决方法。如果我继续挖掘,我可能会更新这个答案。

编辑:我已经尝试在代码本身中执行 force_encoding,因此生成器类执行 to_stream.read.force_encoding("BINARY")。这似乎有效:我的 UTF-8 字符串在创建的文档中的 LibreOffice 中看起来很好。

关于ruby-on-rails - 使用 axlsx gem 生成 Excel 文件时出现 UTF-8 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867159/

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