gpt4 book ai didi

excel - 使用 SSIS 填充使用 OOXML 生成的 Excel 工作簿

转载 作者:行者123 更新时间:2023-12-01 19:59:01 26 4
gpt4 key购买 nike

我们正在尝试使用 OOXML 生成 MS Excel 工作簿并使用 SSIS 填充数据。我们能够生成工作簿和工作表,还能够创建列并在标题单元格中插入数据。我们还可以使用 SSIS 填充数据。

但是工作表 ( DocumentFormat.OpenXml.Spreadsheet.Sheet ) 和所有单元格 ( DocumentFormat.OpenXml.Spreadsheet.Cell ) 变为 OpenXmlUnknownElement 。因此,我们无法使用以下代码读取工作表/单元格:Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "Sheet1").SingleOrDefault<Sheet>();

如果我们首先使用 MS Excel 打开并保存同一文件,我们就能够读取该文件。有谁知道如何解决这个问题吗?

最佳答案

您可能忘记给工作表命名。您可以使用

看到这一点
    Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().FirstOrDefault 

您会发现工作表名称未定义或为垃圾文本。

如果这没有帮助。用代码创建一个简单的文档,将其保存在 OOXML 中并在 xml 查看器中打开。然后制作一个副本,在 Excel 中打开并保存,然后查看 xml 中的差异。查看 excel 默认添加到文档中的内容通常是一个好的开始。

Excel 非常宽容您在代码中创建文档时所做的错误,并在您再次打开文档时神奇地修复它们。

一个糟糕的黑客方法是使用互操作性打开文档,然后将其再次保存在代码中。这将为您解决一切问题。

    Workbook wrkbk = app.Workbooks.Open(@"c:\del.xls");
wrkbk.Save();
wrkbk.Close();

关于excel - 使用 SSIS 填充使用 OOXML 生成的 Excel 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619720/

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