Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Xlsx文件在MS Excel上使用rubyzip压缩并在windows上解压后出现错误_Ruby On Rails_Ruby_Ruby On Rails 3_Axlsx_Rubyzip - Fatal编程技术网

Ruby on rails Xlsx文件在MS Excel上使用rubyzip压缩并在windows上解压后出现错误

Ruby on rails Xlsx文件在MS Excel上使用rubyzip压缩并在windows上解压后出现错误,ruby-on-rails,ruby,ruby-on-rails-3,axlsx,rubyzip,Ruby On Rails,Ruby,Ruby On Rails 3,Axlsx,Rubyzip,实际上,我的要求是在一些文件夹中压缩一些文件。我已经在服务器上保存了许多文件,并与一些对象关联。因此,我必须压缩与一个对象相关的所有文件,有点像这样: 主文件夹 子文件夹 另一个文件夹 XLSX文件 这是我的层次结构的一个例子。我所做的是创建这些文件夹并复制这些文件夹中的文件,然后使用以下代码创建一个zip: 在rubyzip库本身上找到。但是,当我在windows上解压此文件并在Microsoft Excel中打开它时,会出现以下错误: 我们发现“FileName.xlsx”

实际上,我的要求是在一些文件夹中压缩一些文件。我已经在服务器上保存了许多文件,并与一些对象关联。因此,我必须压缩与一个对象相关的所有文件,有点像这样:

  • 主文件夹
    • 子文件夹
      • 另一个文件夹
        • XLSX文件
这是我的层次结构的一个例子。我所做的是创建这些文件夹并复制这些文件夹中的文件,然后使用以下代码创建一个zip:

在rubyzip库本身上找到。但是,当我在windows上解压此文件并在Microsoft Excel中打开它时,会出现以下错误:

我们发现“FileName.xlsx”中的某些内容有问题。是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击“是”

按Yes恢复文件,但我不知道为什么会出现此错误。我曾尝试在服务器上复制excel文件时打开该文件,该文件工作正常,但一旦对其进行压缩和解压缩,就会出现错误。我在本主题中看到了一些不同的问题,如:

但是没有得到帮助

我尝试做的更多的是测试压缩级别,并尝试将rubyzip的压缩设置为
Zlib::DEFAULT\u compression
,但尽管如此,我还是遇到了同样的问题。此外,在某些地方,甚至在rubyzip自述中,我发现我们可以使用:

使用
write\u buffer
代替
open

我在这条线上试过(我能找到的最好的):

但是它给了我一个不同的例外,所以如果这是解决方案,我不知道如何使用它