2012-04-30 7 views
0

winform 응용 프로그램이 있으며 스트림 작성기 및 savefiledialog를 사용하여 내 데이터 테이블을 office 2007 (.xlsx) 형식으로 내보내려고합니다. 파일을 열 때이 오류가 발생합니다. 파일 형식 또는 파일 확장자가 유효하지 않습니다.C# 및 StreamWriter를 사용하여 Excel 2007로 데이터 테이블 내보내기

Fx_3saveFileDialog.Filter = "엑셀 2007년부터 2010년까지 파일 (.XLSX) | * .XLSX, Fx_3saveFileDialog.DefaultExt는 =" "XLSX,

 if (Fx_3saveFileDialog.ShowDialog() == DialogResult.OK) 
     { 
      dsUrunTableAdapters.PF_FormDegerTableAdapter adapter = new dsUrunTableAdapters.PF_FormDegerTableAdapter(); 
      dsUrun.PF_FormDegerDataTable degertable = new dsUrun.PF_FormDegerDataTable(); 
      adapter.Fill(degertable); 

      StreamWriter writer = new StreamWriter(Fx_3saveFileDialog.FileName,true); 
      //StringWriter sw = new StringWriter(); 
      //StringBuilder sb = new StringBuilder(dialog.FileName); 

      writer.Write("<html>"); 
      writer.Write("<head>"); 
      writer.Write("</head>"); 
      writer.Write("<body>"); 

      writer.Write("<table>"); 

      foreach(DataColumn c in degertable.Columns) 
      { 
       //writer.Write(c.Caption); 
       writer.Write("<td>"); 
       writer.Write(c.Caption); 
       writer.Write("</td>"); 

      } 

      writer.Write("</table>"); 
      writer.Write("</body>"); 
      writer.Write("</html>"); 

      //writer.WriteLine(); 

      foreach (DataRow r in degertable.Rows) 
      { 
       //writer.Write(r[degertable.SecilebilecekDegerlerColumn].ToString()); 
      } 

      writer.Close(); 

답변

0

Excel 파일이 열려있는 형식을 포함하는 압축 파일이 당신은. HTML 페이지를 작성하고 xlsx 확장명을 지정하면 작동하지 않습니다.

COM을 사용하여 셀을 추가하거나 가장 쉬운 방법으로 표를 CSV 텍스트 파일로 출력해야합니다 (쉼표로 구분 된 파일)

+0

하지만이 응용 프로그램은 왜? – user1216197

관련 문제