2009-06-08 36 views
3

使用Excel 2003及更高版本,可以使用SpreadsheetML格式仅用XML样式表和XML数据文件生成Excel电子表格。我已经在一些项目中使用过它,并且工作得很好,即使这样做不容易。 从Microsoft下载网站我已经下载了构成SpreadsheetML的XSD,并且在我的无知中,我试图将它们转换为C#类。不幸的是,xsd.exe对这些模式文件不是很满意,所以我倾向于卡住。 我不需要SpreadsheetML的替代解决方案,因为它可以满足我的需求。只是如果我的团队成员没有写入复杂的样式表,那么我的代码会更容易维护。 (它是你公司唯一的XSLT专家。)在代码中创建Excel SpreadsheetML。 (不使用Excel!)

我想知道的人是否已成功创建Excel SpreadsheetML文件而不使用第三方代码且没有XSLT。如果你这样做,你是如何解决这个问题的?

(或者,也许我只是要了解如何命名空间添加到内XML.Linq XML元素...)

+0

难道你不能只用COM来做到这一点吗?就是想。 – jgallant 2009-06-08 12:58:26

+0

那么,代码是Web服务器的一部分,并且此Web服务器上没有安装Office,他们也不会在此Web服务上安装Office或Excel。 顺便说一句,使用XSLT工作得很好,并创建我想要的结果。但是由于我是我公司唯一的XSLT专家,因此我想提供一个其他团队成员可以理解的解决方案。 – 2009-06-08 13:18:19

回答

1

前一段时间我用的XmlDocument和朋友创建一个公式,格式等在SpreadsheetML中的文件,所以它是可能的,如果有点繁琐。

MSDN page是你需要开始在LINQ中使用命名空间。

+0

这就是我正在寻找的! :-)至少,我的团队成员在C#方面拥有比XSLT更多的经验,因此它变得有点烦琐并不重要。 – 2009-06-08 14:08:24

0

,我已经开始对类似的问题在几个星期前,但由于一些迫在眉睫的问题,我必须把它放在后面的燃烧器。

当时我提到这个http://www.codeproject.com/KB/aspnet/ExportClassLibrary.aspx?fid=113399&df=90&mpp=25&sort=Position&tid=2609600

我真的不能上手,但预计不久后就会回来就可以了。我希望链接有帮助。

欢呼

+0

不幸的是,我生成的电子表格不仅仅是转换为Excel的数据列表。它包含几个公式和一些格式供用户在下载后立即使用。唯一的目的是让用户验证服务器中的数据。相同的数据也通过Web服务提供给客户端应用程序。只是Excel表格更容易验证。 – 2009-06-08 13:23:31