15

我有一个使用 SSIS 生成的 xlsx 文件。该文件的数据是通过数据流任务写入的,其中 xlsx 文件是 oledb 目标。我使用以下连接字符串作为 OLEDB 连接的表达式:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ @[User::ExcelPath] +";
Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"

该文件在数据流任务之前打开得很好。在数据流任务之后,我得到一个对话框,如下所示:

在此处输入图像描述

当我单击是时,我收到另一条消息: 在此处输入图像描述

xml文件的内容是

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">       <logFileName>error072840_02.xml</logFileName><summary>Errors were detected in file   'C:\output\documentId-1.xlsx'</summary><removedRecords summary="Following is a list of removed records:"><removedRecord>Removed Records: Named range from /xl/workbook.xml part (Workbook)</removedRecord></removedRecords></recoveryLog>

我无法弄清楚究竟是什么导致了这个错误。任何帮助将不胜感激。TIA

4

7 回答 7

15

我在使用 EPPlus 自定义现有模板时遇到了这个问题。对我来说,问题出在模板本身,因为它包含对查找表的无效引用。我在公式-> 名称管理器中找到了这个。

如果您遇到此问题,我建议您检查模板。

于 2017-12-11T13:05:42.770 回答
11

解决了。我真的不知道原因。进行了一些研究并了解到与选项卡名称相关的某些内容可能会导致此问题。我不得不使用名称为“tab”和“tab(2)”的选项卡。xlsx 可能会将它们视为相同的名称。

于 2013-08-30T20:08:16.617 回答
3

在我的情况下,类似的错误是由超过 30 个字符的工作表(选项卡)名称引起的。

于 2015-04-20T18:11:12.657 回答
1

对我来说,它是一个按钮,其宏分配了一个值,例如:'MyMacro("MyParam")'

于 2018-12-17T10:32:02.357 回答
0

也许您的选项卡名称中有一个特殊字符,并且您使用选项卡名称定义名称范围。比如标签名是“A(1)”,改成“A(1)”即可

于 2016-11-13T02:54:49.067 回答
0

就我个人而言,空格/特殊字符与选项卡(工作表)名称无关。命名范围本身不能有空格/特殊字符,因为它被视为变量

于 2017-06-07T14:57:53.013 回答
0

在我的例子中,有十几个对命名范围的引用,但它们没有出现在公式->名称管理器窗口中。我不得不将 xlsx 文件重命名为 .zip 文件,打开 /xl/workbook.xml,手动删除整个 definedName 节点,然后将其重命名为 .xlsx。瞧!

那是我生命中的两个小时,我永远不会回来。

于 2020-12-11T20:12:46.870 回答