C#を使用し、Microsoft Officeを使用せずに.xlsファイルを.xlsxに変換する際に助けが必要です。C#とMicrosoft Officeをインストールしていない状態で.xlsファイルを.xlsxに変換するにはどうすればよいですか?
答えて
一部のコーディング作業では、NPOIライブラリを使用してXLSデータを読み取り、XLSXとして書き戻すことができます。
他の方法(XLSXからXLS)はConvert xlsx file to xls using NPOI in c#に示されています。それは原則を見る良い出発点かもしれません。
私はあなたのアドバイスを使用し、ここに書き換えコンバータを掲載しました。http://stackoverflow.com/a/41172690/119843 –
@ er-vフィードバックいただきありがとうございます。 –
クエリ下記の使用、
private static string GetConnectionString()
{
Dictionary<string, string> props = new Dictionary<string, string>();
// XLSX - Excel 2007, 2010, 2012, 2013
props["Provider"] = "Microsoft.ACE.OLEDB.12.0;";
props["Extended Properties"] = "Excel 12.0 XML";
props["Data Source"] = @"D:\data\users\liran-fr\Desktop\Excel\Received\Orbotech_FW__ARTEMIS-CONTROL-AG__223227__0408141043__95546.xls";
// XLS - Excel 2003 and Older
//props["Provider"] = "Microsoft.Jet.OLEDB.4.0";
//props["Extended Properties"] = "Excel 8.0";
//props["Data Source"] = "C:\\MyExcel.xls";
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, string> prop in props)
{
sb.Append(prop.Key);
sb.Append('=');
sb.Append(prop.Value);
sb.Append(';');
}
return sb.ToString();
}
private static DataSet ReadExcelFile()
{
DataSet ds = new DataSet();
string connectionString = GetConnectionString();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
// Get all Sheets in Excel File
DataTable dtSheet = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
// Loop through all Sheets to get data
foreach (DataRow dr in dtSheet.Rows)
{
string sheetName = dr["TABLE_NAME"].ToString();
//if (!sheetName.EndsWith("$"))
// continue;
// Get all rows from the Sheet
cmd.CommandText = "SELECT * FROM [" + sheetName + "]";
DataTable dt = new DataTable();
dt.TableName = sheetName;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dt);
ds.Tables.Add(dt);
}
cmd = null;
conn.Close();
}
return ds;
}
using (ExcelPackage epackage = new ExcelPackage())
{
ExcelWorksheet excel = epackage.Workbook.Worksheets.Add("ExcelTabName");
DataSet ds = ReadExcelFile();
DataTable dtbl = ds.Tables[0];
excel.Cells["A1"].LoadFromDataTable(dtbl, true);
System.IO.FileInfo file = new System.IO.FileInfo(@"D:\data\users\liran-fr\Desktop\Excel\Received\test.xlsx");
epackage.SaveAs(file);
}
あなたの解決策には、OPによって欲しくないExcelがインストールされている必要があります。 –
- 1. sapui5のcsvファイルをxlsまたはxlsxに変換するにはどうすればよいですか?
- 2. シェルスクリプトを使用してxlsxファイルをcsvファイルに変換するにはどうすればよいですか?
- 3. .dbを.xlsに変換するにはどうすればよいですか?
- 4. xlsファイルをxlsxファイルに変換し、SSISを使用してフォルダに保存するにはどうすればよいですか?
- 5. UISwitchが状態を変更しないようにするにはどうすればよいですか?
- 6. Angularjs:ファイルをXLSX、XLSに変換するためのディレクティブはどれですか?
- 7. 状態を値と新しい状態に変換する関数からFluxを作成するにはどうすればよいですか?
- 8. AppleScriptでxlsをxlsxに変換する
- 9. Microsoft Excelをサーバーにインストールしていない状態でExcel文書に書き込むにはどうすればよいですか?
- 10. RadioButton:IsChecked状態を変更するにはどうすればよいですか?
- 11. enum値を状態図の状態として使用するにはどうすればよいですか?
- 12. PHPでXLSをCSVファイルに変換するにはどうすればよいですか?
- 13. xlsxファイルを2003 xlsファイルにプログラムでC#で変換する方法は?
- 14. Java 1.3では、どのようにして.xlsx形式のファイルを.xls形式に変換できますか?
- 15. Excel/Officeドキュメント間で状態を共有するにはどうすればよいですか?
- 16. C#でスプレッドワークブックをMicrosoft Excelワークブックに変換するにはどうすればよいですか?
- 17. Azureウェブサイトがスリープ状態にならないようにするにはどうすればよいですか?
- 18. ドッカーコンテナをエラー状態にするにはどうすればよいですか?
- 19. Microsoft Graph APIから「不在状態」を取得するにはどうすればよいですか?
- 20. ブートストラップボタンをアクティブ状態にするにはどうすればいいですか?
- 21. Excel 2007(xlsx)ファイルをExcel 2003(xls)ファイルに変換する
- 22. HTMLコードをXLS/XLSXに変換する
- 23. アセンブリコードをCに変換するにはどうすればよいですか?
- 24. jsonファイルを使用してjqueryデータテーブルの状態をロードするにはどうすればよいですか?
- 25. セッション状態を保存するにはどうすればよいですか?
- 26. 状態を確認するにはどうすればよいですか?
- 27. Obj-CコードなしでNSStringをC++のCStringに変換するにはどうすればよいですか?
- 28. 形状ファイルの種類をポリラインからポリゴンに変換するにはどうすればよいですか?
- 29. gitの状態で表示されている、追跡されていないファイルの数を制限するにはどうすればよいですか?
- 30. xls/xlsxをxmlに変換するコマンドラインツールですか?
そして、何あなた自身を試してみたのですか? [このページではSOの質問方法](http://stackoverflow.com/help/mcve)を読んで質問を編集してください。 –