Dopo l'installazione OpenXML SDK sarà in grado di fare riferimento DocumentFormat.OpenXml
montaggio: Add Reference
->Assemblies
-> Extensions
->DocumentFormat.OpenXml
. Inoltre sarà necessario fare riferimento a WindowsBase
.
di quello che sarà in grado di generare il documento, ad esempio, in questo modo:
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
namespace MyNamespace
{
class Program
{
static void Main(string[] args)
{
using (var document = WordprocessingDocument.Create(
"test.docx", WordprocessingDocumentType.Document))
{
document.AddMainDocumentPart();
document.MainDocumentPart.Document = new Document(
new Body(new Paragraph(new Run(new Text("some text")))));
}
}
}
}
Inoltre è possibile utilizzare Produttività Tool (lo stesso link) per generare il codice da un documento. Può aiutare a capire come funziona con l'API SDK.
si può fare lo stesso con Interop:
using System.Reflection;
using Microsoft.Office.Interop.Word;
using System.Runtime.InteropServices;
namespace Interop1
{
class Program
{
static void Main(string[] args)
{
Application application = null;
try
{
application = new Application();
var document = application.Documents.Add();
var paragraph = document.Paragraphs.Add();
paragraph.Range.Text = "some text";
string filename = GetFullName();
application.ActiveDocument.SaveAs(filename, WdSaveFormat.wdFormatDocument);
document.Close();
}
finally
{
if (application != null)
{
application.Quit();
Marshal.FinalReleaseComObject(application);
}
}
}
}
}
Ma in questo caso si dovrebbe fare riferimento tipo COM libreria di Microsoft. Libreria di oggetti di Word.
Qui ci sono cose molto utili su interoperabilità COM: How do I properly clean up Excel interop objects?
fonte
2013-11-01 07:49:35
Interop.Word richiede l'installazione di Office sulla macchina. DocX no, infila direttamente il contenuto OpenXML di un file .docx. La scelta abituale è l'Open XML SDK. Il supporto a lungo termine per questa libreria sarebbe di solito qualcosa di cui preoccuparsi. Consulta l'elenco dei problemi per i problemi noti. –