Mr.*_*Boy 3 .net interop ms-office
我一直认为它确实如此,虽然我不知道我的想法在哪里...我总是认为将电子表格视为2D阵列很容易,但有些搜索SO表明每个人都在使用3rd-党的图书馆?或者,所有那些需要安装不需要Office的解决方案的人......如果我没有这个限制,它会变得更容易吗?
正如我所说的,我看了SO,但没有看到这个特定问题的答案.不过也许我的搜索技巧很糟糕......
编辑:我的想法是想在C#应用程序中打开XLS/CSV文档.我不希望来自单元格的任何复杂数据,只需能够从每个单元格中读取文本值.理想情况下,使用Cell.getText()方法将电子表格视为2D单元格数组的包装器是我需要的所有复杂性.
小智 7
是的,.NET具有内置的Office功能.但是你会试图用它来打败自己.它也很好地隐藏,只与Office 2007及更高版本兼容(除非您下载Office 2003/XP 的兼容性插件).
最好使用一些旨在与Office互操作的API,而不是试图单独使用它.链接用于Office Open XML SDK,可用于创建.*x Office文件(.docx,.xslx等).
如果您想知道System.IO.Packaging如何与Office相关,则文档跟踪从此处开始:
http://msdn.microsoft.com/en-us/library/dd371623(VS.85).aspx
简写版本是新的办公室格式是Open XML文档.什么是Open XML文档?它们是包含在ZIP文件中的资源包(例如图像)和XML文件.您可以使用任何新的Office文件,将扩展名更改为.zip,然后将其打开以进行查看.
这是什么意思?这意味着您可以解压缩这些文件,将部件作为XDocuments加载并转到城镇.当然,您必须将文件解压缩到一个临时位置,对多个XML文件进行排序以找到您想要的文件,在更改文件时管理文件之间的所有连接等等.
或者,您可以使用System.IO.Packaging命名空间及其类型来打开这些文件,访问包中的不同组件(甚至远程),更改它们,并将更改刷新回磁盘.
现在,虽然您可以使用命名空间轻松完成此操作,但您无法安全访问Open XML文件中的不同包.你必须使用魔法字符串来获取部分.这也意味着你几乎必须知道Open XML架构,这很糟糕.
这就是MS提供Open XML SDK的原因,您可以将其与System.IO.Packaging结合使用来打开,更改和保存Open XML Office文档.
为了回答OP的澄清,它不会那么容易.xls文件很复杂; 细胞不仅仅是一个二维阵列.但是有免费的API可以帮助您打开和访问其中的数据.
如果您要打开Office 2007兼容文件,我强烈建议您查看Office Open XML SDK.如果您打算打开旧版本(Office 2003,XP),我建议在codeplex.com 上使用Excel中的众多项目之一(我想我已经使用了Excel数据读取器).其中有很多,旨在使Excel电子表格中的数据访问变得非常容易.但不太相称表格[x] [y]容易.
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |