2017-09-21 3 views
0

2.7 C:私はこのようなシート1の小さなテーブルとExcelブックを持っている#

enter image description here

私は7zipをか何か、を経由して生のXMLを開くと今

<sheetData> 
    <row r="1" spans="1:5" x14ac:dyDescent="0.3"> 
     <c r="A1" t="s"> 
      <v>0</v> 
     </c> 
     <c r="B1" t="s"> 
      <v>1</v> 
     </c> 
     <c r="C1" t="s"> 
      <v>2</v> 
     </c> 
     <c r="D1" t="s"> 
      <v>3</v> 
     </c> 
     <c r="E1" t="s"> 
      <v>4</v> 
     </c> 
    </row> 

、第二のためにピッチフォークを置く:ワークシートのデータのためのオープンXML出力は次のようになります。私は、フォーマットとレイアウトを含むワークシート・データだけでなく、他の関連ファイルもいくつかあることを知っています。私はOpen XML SDK Todayで作業しており、人間が読める形式のセル値にアクセスできます。

OpenXMLワークシートのデータを何かに変換する "簡単な"方法を見つけることですファイルを2003年のスプレッドシートXMLとして保存する場合は、次のようになります。

<Worksheet ss:Name="Sheet1"> 
    <Table ss:ExpandedColumnCount="9" ss:ExpandedRowCount="5" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="14.4"> 
     <Column ss:Width="44.400000000000006"/> 
     <Column ss:Width="55.800000000000004"/> 
     <Column ss:Width="80.400000000000006"/> 
     <Column ss:Width="58.2" ss:Span="5"/> 
     <Row> 
      <Cell> 
       <Data ss:Type="String">Name</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Birthday</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Favorite Color</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Pet Name</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Car</Data> 
      </Cell> 
     </Row> 
     <Row> 
      <Cell> 
       <Data ss:Type="String">Joe</Data> 
      </Cell> 
      <Cell ss:StyleID="s16"> 
       <Data ss:Type="DateTime">2017-01-01T00:00:00.000</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">blue</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Bo</Data> 
      </Cell> 
      <Cell> 
       <Data ss:Type="String">Ferrari</Data> 
      </Cell> 
     </Row> 

この変換を行う際の提案はありますか?マッピングテーブルを作成して一方から他方に移動する方法はありますか?手動ですべてのOpenXMLファイルを移動して、手動で目的のXML出力を作成しようとしているのですか?後者は私が実際に避けようとしているものです。

おかげ

答えて

1

あなたはEasyXLSライブラリを使用することができます。最初にxlsxファイルを読み込み、それをSpreadSheetMLに変換します。

ExcelDocument workbook = new ExcelDocument(); 
workbook.easy_LoadXLSXFile("Excel.xlsx"); 
workbook.easy_WriteXMLFile("SpreadsheetML.xml"); 

OpenXMLでは、セル単位で行う必要があります。 EasyXLSは、両方のファイルフォーマットをサポートしています。

その後編集:これはまた、あなたを助ける:
Convert Excel to SpreadSheetML

+0

お寄せいただきありがとうございます!私は時間を節約するためにお金を使うのに反対しているわけではありませんが、オープンソースや無料のオプションはありませんか? – user1971240

+1

xlsxまたは/およびxlsファイルをサポートするフリーライブラリがありますが、SpreadsheetMLもサポートしているライブラリは認識していません。 SpreadsheetML形式はかなり古いです。 –

0

はちょうど.zipにの.xlsxファイルの名前を変更してください。そのXMLフォーマットが適合しない場合、他の応答のライブラリが適合することがあります。

EDIT:変換警告エラーを無視します。

関連する問題