2012-04-30 19 views
0

winformアプリケーションがあり、ストリームライターとsavefiledialogを使用してデータテーブルをoffice 2007(.xlsx)形式でエクスポートしたいのですが、Excelファイルを開くときにこのエラーが発生します。ファイル形式またはファイル拡張子が無効です。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ファイルはオープンフォーマットが含まれているZIPファイルですあなたは。

あなたはCOMを使用して、セルを追加するためにExcelを操作するか、最も簡単なものとして、テーブルをCSVテキストファイルとして出力する必要があります(カンマ区切りファイル)Excelは非常に簡単に読み取ることができます。

+0

ただし、このアプリケーションはwiなぜですか? – user1216197

関連する問題