2013-11-14 2 views
0

기존 MS Word 2007 파일 (.docx)을 읽어야하며 string1을 string2로 바꾸고 " 새로 편집 된 "파일을"첨부 파일 "로 이메일에 첨부 할 수 있습니다. 내가 원본 파일을 editting에없이 그것을하려고디스크에서 .DOCX 파일을 읽고 편집 한 다음 .NET을 사용하여 즉석에서 이메일에 첨부하십시오.

  1. :

    우리는 때문에 나를 난처한 상황에 빠진

    마이크로 소프트 DocumentFormat.OpenXml SDK의 2.0 및 .NET 4.5 (C#)를 사용하는 ; 또는

  2. 원본 파일을 복사 한 다음 편집하는 중입니다. 또는
  3. 새 파일을 디스크에 저장 한 다음 삭제합니다. 또는
  4. 파일 형식 변경. ~ .XML

다음 코드는 다른 stackoverflow 질문에서 가져온 것이지만 디스크의 orignal 파일을 편집하는 데 사용됩니다.

DocumentText를 첨부 생성자에 MemoryStream으로 전달하는 방법에 문제가 있습니다. 생성 된 이메일이 손상되어 orignal 파일 크기보다 훨씬 큽니다. 나는 GzipStream 및

 string sourceFilePath = @"C:\Template.docx";   

     string documentText; 

     using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(sourceFilePath, true)) 
     { 
      using (StreamReader reader = new StreamReader(wordDoc.MainDocumentPart.GetStream())) 
      { 
       documentText = reader.ReadToEnd(); 
      } 

      documentText = documentText.Replace("searchstring", "replacementstring"); 

      using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create))) 
      { 
       sw.Write(documentText); 
      } 
      MailMessage email = new MailMessage(); 
      email.Attachments.Add(new Attachment(sourceFilePath)); 
      // Send email etc 
     } 

건배 :-(기쁨

카일을 시도

답변

관련 문제