2016-04-28 21 views
0

私は、XlsとXlsxファイルをデータリーダー経由で読むことができるツールを持っています。私は列のヘッダーを介してSqlサーバーでテーブルを作成し、テーブルにデータをポンピングするためにデータリーダーを使用して行くことができます。Openxml - 非標準のxlsxを標準形式で保存する

私の顧客の1人がExcelで開くことができるxlsxファイルを送信しますが、私のツールでは動作しません。私はxlsxがExcelではなくサードパーティアプリケーションによって生成されていると推測しています。

ファイルをExcelで開いて保存すると、ファイルはツールで動作します。私はExcel.Applicationを使用してC#でこれを行うこともできます。しかし私はサーバーにOfficeをインストールしたくないので、これはオプションではありません。

私の考えは、Openxmlを使用してファイルを開いて保存することでした。これは動作しているように見えますが、Excelのやり方でフォーマットを修正することはありません。

誰でもOpenxmlの経験がありますか?多分あなたは私が試してみるべきアイディアを持っていますか?

 using (SpreadsheetDocument ssd = SpreadsheetDocument.Open(FileName, true)) 
     { 
      WorkbookPart wbPart = ssd.WorkbookPart; 
      WorksheetPart wsPart = wbPart.WorksheetParts.First(); 

      wsPart.Worksheet.Save(); 
      wbPart.Workbook.Save(); 
     } 
+0

を私はそれがClosedXmlで作業を取得することができました。 –

答えて

0

ClosedXmlでの作業:

private void ReSaveXlsx(string FileName) 
    { 
     using (XLWorkbook WorkBookNew = new XLWorkbook(FileName)) 
     { 
      WorkBookNew.Worksheets.Delete(1); 
      using (XLWorkbook Workbook = new XLWorkbook(FileName)) 
      { 
       foreach (var Worksheet in Workbook.Worksheets) 
       { 
        WorkBookNew.AddWorksheet(Worksheet); 
       } 
       WorkBookNew.SaveAs(FileName); 
      } 
     } 

    } 
関連する問題