如何在不安装办公室的情况下以编程方式创建,读取,编写Excel?

evi*_*ack 29 c# excel

我很困惑,所有的方式都是读取/写入/创建excel文件.VSTO,OLEDB等,但它们似乎都要求必须安装办公室.

这是我的情况:我需要开发一个应用程序,它将excel文件作为输入,进行一些计算并创建一个新的excel文件,它基本上是对第一个excel文件的修改.所有这些都限制了运行它的机器可能没有安装办公室.(不要问为什么......)

我需要支持所有 excel格式.唯一的优点是格式电子表格本身非常简单.只是一堆列和价值观,没什么特别的.遗憾的是,由于最终用户可能甚至不知道CSV文件是什么,因此没有CSV.

Gre*_*ire 47

以HTML表格格式编写excel:

<html>
<body>
  <table>
    <tr>
    <td style="background-color:#acc3ff">Cell1</td>
    <td style="font-weight:bold">Cell2</td>
    </tr>
  </table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并为您的文件提供xls扩展名.Excel将自动转换它

  • 你在开玩笑吧. (22认同)
  • 这是我本周看到的最酷的事情.我花了好几个小时试图找到一种从PHP导出XLS的好方法 (5认同)
  • 我已经多次使用过这种方法,简单,效果很好.但是对于Web应用程序,只需将内容类型/ mime类型设置为excel(无法记住我头顶的确切mime类型) (3认同)

Dav*_*vid 8

如果没有安装Office,您将需要一些旨在了解Excel二进制文件格式的内容(除非您只想打开Office 2007 .xlsx文件).

我发现(我使用的)最好的是SpreadsheetGear,除了.NET原生之外,它比COM/OLE解决方案(我过去使用过的)更快更稳定


RHi*_*cke 6

改为读写csv文件.Excel读取它们就好了,它们更容易使用.如果您需要处理.xls文件,请尝试支持OpenOffice和Excel.OpenOffice可以读写excel文件.