Mau*_*lik 9 excel ssis openxml spreadsheetml openxml-sdk
我们正在尝试使用OOXML生成MS Excel工作簿并使用SSIS填充数据.我们能够生成工作簿和工作表,还能够在标题单元格中创建列和插入数据.我们还可以使用SSIS填充数据.
但Sheet(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
Run Code Online (Sandbox Code Playgroud)
您会看到您的工作表名称要么是未定义的,要么是垃圾文本。
如果这没有帮助。用代码创建一个简单的文档,将其保存在 OOXML 中并在 xml 查看器中打开。然后制作一个副本,在 Excel 中打开并保存,然后查看 xml 中的差异。查看 excel 默认添加到文档中的内容通常是一个好的开始。
Excel 非常容忍您在代码中创建文档时所做的错误,并在您再次打开文档时神奇地修复它们。
一个糟糕的黑客方法是使用互操作性来打开文档,然后将其再次保存在代码中。这将为您解决一切问题。
Workbook wrkbk = app.Workbooks.Open(@"c:\del.xls");
wrkbk.Save();
wrkbk.Close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1174 次 |
| 最近记录: |