2011-06-06 48 views
0

我有一个C#中的代码,需要在Java中使用或转换。 它是使用对Word 12.0对象库的引用的代码。使用Java中的C#代码

这里开始的C#代码:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Word; 如何,我可以使用C#中的Java或我怎么能重写代码枝条从C#到Java的参考?

谢谢

+0

你不能用Java编写C#,反之亦然。他们是完全不同的语言。 – msarchet 2011-06-06 14:22:48

+0

Linq?可能会很难,因为Java没有linq。 – 2011-06-06 14:58:27

回答

0

你可以使用一个工具,如http://www.cs2j.com/

不过我建议你学习C#和Java之间的差异,并重新写自己的库 - 或找一个类似已经存在,请。

+0

我认为最简单的想法是重写,但我不知道如何做到这一点。 – Ophelie 2011-06-06 14:38:44

3

Apache POI - the Java API for Microsoft Documents

Apache的POI项目的使命是 创建和维护的Java API 基于的Office Open XML操纵各种文件格式 标准(OOXML)和微软的OLE 2复合文档格式(OLE2)。在 简而言之,您可以使用Java读取和写入MS Excel 文件。另外,你可以用 读写MS Word和MS 使用Java的PowerPoint文件。 Apache POI是您的Java Excel解决方案(适用于 Excel 97-2008)。

+0

Apache POI在docx,xslx和pptx中存在一些问题。 – Ophelie 2011-06-06 14:37:41

1

要转换代码,您可以使用slandau提到的转换器。您可以为Word互操作使用多种解决方案。 Apache POI就是其中之一。另一个是OpenOffice。另一个是docx4j

这些解决方案的好处是您不需要安装Microsoft Word来使用它们(与您在C#中的现有互操作代码不同)。如果您想直接使用MS Word,也可以使用JACOB and COM。如果你想保持简单并使用你的C#代码,你最好在C#中编写一个控制台应用程序,并使用Java将参数传递给它(或者你可以写一个web服务although Word interop in a web service gets tricky)。

+0

我试过那三个库,你的动作。 Apache POI的问题是它不支持pptx,而使用OpenOffice时,我在格式上遇到了一些问题。和docx4j一样,它也是一样的。所以我在想,使用MSOffice,格式将是完美的。 – Ophelie 2011-06-06 14:52:09

+0

不幸的是,没有一个Java库是完美的。如果您有特定要求,您可以随时手动打开pptx文件。它只是一个带有XML的zip文件,所以你可以理论上手动更新它。否则,您可能必须使用COM interop或将C#代码作为控制台应用程序调用。 – hross 2011-06-06 14:57:08