Я разработчик Java. Но по какой-то причине я должен взять на себя помощь C# для выполнения своей задачи. У меня ниже приведен код C#, который используется для создания DLL. Эта DLL должна использоваться в моей программе Java, чтобы сделать это нужным.Вызов C# dll из Java
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
namespace Yrl.Tracingtool
{
public class DocxUtil
{
public Application Jump(string fileName)
{
object fileNameAsObject = (object)fileName;
Application wordApplication;
try
{
wordApplication = new Application();
object readnly = false;
object missing = System.Reflection.Missing.Value;
wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readnly, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
object count = 3;
wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);
return wordApplication;
}
catch (Exception ex)
{
//LogEntry log = new LogEntry();
//log.Categories.Add("Trace");
//log.Message = ex.ToString();
//Logger.Write(log, "Trace");
throw new System.IO.FileLoadException("File cannot be opened");
}
finally
{
wordApplication = null;
}
}
}
}
Я проверил этот форум и другие форумы тоже, но большинство из них говорят об использовании C++ или файл DLL C в JNI вызова. Если кто-то знает о вызове C# DLL из Java, пожалуйста, дайте мне знать.
Я думаю, вы должны использовать COM? Может быть, неправильно? – Liam
@duffymo Я так не думаю. В этой статье нет информации о C# DLL. – rajshekhar
Существует проект Java API для Microsoft Documents на Apache, [Apache POI] (http://poi.apache.org/). Может ли это быть альтернативой смешению Java и C#? (Конечно, у меня нет опыта использования _Apache POI_.) –