2012-08-24 6 views
1

내가 내보내려고하는 테이블은 C#으로 웹 응용 프로그램을 만들고있는 Visual Studio 2008의 SQL 데이터베이스에서 Crystal Reports로 가져옵니다. 워드 문서로 내보내려고하지만 나중에 MS WORD에서 편집 할 수있는 테이블 서식을 유지하려고합니다. 그러나, 나는 모든 텍스트 상자를 얻을 수 있습니다.Crystal Reports에서 편집 가능한 테이블을 C#을 사용하여 워드 문서로 내보내는 방법?

Excel 문서로 내보내고 단어로 복사하려고 시도했지만 제대로 작동하지만 C# 코드만으로이 작업을 수행 할 수 있어야합니다.

질문 : 크리스탈 보고서에서 내 보낸 워드 문서에서 직접 편집 가능한 테이블을 만들 수있는 더 좋은 방법이 있습니까? 아니면 C# 코드로만 Excel 테이블을 복사하는 방법이 있습니까?

정말 도움이됩니다. 며칠 동안 인터넷 검색 중이며 여전히 적절한 해결책을 찾지 못했습니다 ...

답변

0

Excel 문서를 Word에 삽입 한 다음 저장하는 작업을했습니다. 다만 그쪽으로 데이터 경로와 마이너 문제는 약간의 조정이 필요하지만 :)

개인 무효 ConvertExcelToWordAndAutoSave() {

 Excel.Application xlApp; 
     Excel.Workbook xlWorkBook; 
     Excel.Worksheet xlWorkSheet; 
     //TT Excel.Range range; 



     object misValue = System.Reflection.Missing.Value; 

     DateTime dt = new DateTime(); 
     dt = DateTime.Now; 

      // open excel 
      xlApp = new Excel.ApplicationClass(); 
      //Change THE LOCATION! 
      xlWorkBook = xlApp.Workbooks.Open("C:\\Documents and Settings\\Student\\Desktop\\ExportFiles\\Excel.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 
      xlWorkSheet=(Excel.Worksheet)xlWorkBook.ActiveSheet; 




      // open word 
      object oMissing = System.Reflection.Missing.Value; 
      object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ 

      //Start Word and create a new document. 
      Word._Application oWord; 
      Word._Document oDoc; 

      oWord = new Word.Application(); 
      oWord.Visible = true; 
      oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); 



      Word.Paragraph oPara1; 
      oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); 
      oPara1.Range.Text = "Snimeno na:" + " " + dt+"\n"; 
      oPara1.Range.Font.Bold = 1; 
      oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. 
      oPara1.Range.InsertParagraphAfter(); 




      xlWorkSheet.get_Range("A1", "N49").Copy(Missing.Value); 

      oWord.Selection.Paste(); 

      oWord.Selection.TypeParagraph(); 
      //The textBox is for the name of the new Word document 
      if (TextBox1.Text == "") 
       TextBox1.Text = "Document1"; 
     object fileName = @"C:\\Documents and Settings\\Student\\Desktop\\ExportFiles\\"+TextBox1.Text+".docx"; 

      oDoc.SaveAs(ref fileName, 
      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); 
를 작동 외에