【问题标题】:OpenXML Excel file corruption, DataValidationsOpenXML Excel 文件损坏,DataValidations
【发布时间】:2016-03-09 05:56:59
【问题描述】:

我正在使用来自 WPF 应用程序的 OpenXML SDK 2.0 创建一个 excel 文件。 excel 文件有多个工作表、下拉单元格的数据验证、公式和应用的样式表。它可以很好地在 Sheet1 中创建大约 17,500 行和在 Sheet2 中创建 17,500 行的 Excel 行。但是,当 Sheet1 和 Sheet2 的行数达到 25,000 时,文件会损坏,即在打开文件时会出现错误“我们发现 file.xlsx 中的内容有问题。您想尽可能多地恢复?”如果我恢复文件,两个工作表中所有 25,000 行的数据仍然存在,但是数据验证,即下拉列表不适用于任何单元格。恢复日志如下,而修复信息在截图中。

error946360_01.xmlErrors were detected in file 'D:\file.xlsx'Removed Feature: Data validation from /xl/worksheets/sheet.xml partRepaired Records: 单元格信息来自 /xl/worksheets/sheet.xml partRepaired Records: 单元格信息来自 / xl/worksheets/sheet2.xml 部分

【问题讨论】:

    标签: excel file openxml corruption


    【解决方案1】:

    对我来说,在添加之前检查一行是否已经存在就可以了。 不知何故,在 xlsx 文件的 xml 架构中(对我来说是 sheet1.xml),行已经存在。运行我的代码后,我添加了一个带有索引的行,该索引已经存在。 所以尝试用winrar打开你的excel,找到sheet1.xml(和你的情况下的sheet2.xml),看看你是否有重复的行索引。 用你的代码生成excel文件,不要用excel打开,否则excel会去掉重复的,你就看不到问题了。

    另一种选择是使用 Open Xml SDK 2.5 Productivity Tool 验证您的 excel 文件(在打开之前)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多