如何使用C#保存doc文件

我一直在使用以下代码来写入word文件但不能存储word文件。 有没有办法用C#存储word文件?

object oMissing = System.Reflection.Missing.Value; object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ //Start Word and create a new document. Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word._Document oDoc = new Microsoft.Office.Interop.Word.Document(); oWord.Visible = true; oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); //Insert a paragraph at the beginning of the document. Microsoft.Office.Interop.Word.Paragraph oPara1; oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); oPara1.Range.Text = "Heading 1"; oPara1.Range.Font.Bold = 1; oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. 

您应该只能使用SaveAs。

 oDoc.SaveAs("MyFile.doc", ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); 

如果您使用的是.NET 4.0,则不需要oMissings。

小号

我刚刚使用.NET 4和C#创建了一个新的控制台应用程序,引用了Microsoft Word对象库,粘贴了代码并删除了所有那些ref missing .NET,因为.NET 4并且不再需要可选参数,这里的最终代码确实像一个魅力:

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Word; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { Microsoft.Office.Interop.Word._Application oWord = new Application(); oWord.Visible = true; var oDoc = oWord.Documents.Add(); //Insert a paragraph at the beginning of the document. var paragraph1 = oDoc.Content.Paragraphs.Add(); paragraph1.Range.Text = "Heading 1"; paragraph1.Range.Font.Bold = 1; paragraph1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. oDoc.SaveAs2(@"C:\Temp\TestDocumentWith1Paragraph.docx"); oWord.Quit(); } } } 

试试这个:

 var FileName = 'file name with path' oWord.ActiveDocument.SaveAs(ref FileName, 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, ref missing, ref missing); oDoc.Close(ref missing, ref missing, ref missing);