UbuntuでExcelDataReaderを使用して.xlsファイルを読み取ろうとしています。 C#でVS Codeを使用しています。コードは次のとおりです。
var stream = File.Open(filePath, mode: FileMode.Open, access: FileAccess.Read);
var reader = ExcelReaderFactory.CreateReader(stream);
私もこれを試しました:
var reader = ExcelDataReader.ExcelReaderFactory.CreateBinaryReader(stream);
実行すると、次の例外が発生します。
未処理の例外:System.NotSupportedException:エンコーディング1252に使用できるデータはありません。カスタムエンコーディングの定義については、Encoding.RegisterProviderメソッドのドキュメントを参照してください。 System.Text.Encoding.GetEncoding(Int32 codepage)で
一部の人々がこれを推奨していることがわかったので、すでにlibmono-i18n-west4.0-cil
(libmono-i18n4.0-all
でも試してみました)をインストールしましたが、問題は解決しません。パッケージSystem.Text.Encoding.CodePages
も正常にインストールしました。
誰でもこれを解決するのに役立ちますか?
.net Coreアプリケーションでも同じ問題に直面しました。 _System.Text.Encoding.CodePages
_ nugetパッケージを追加し、ExcelReaderFactory.CreateReader(stream)
の前にエンコードプロバイダーを登録して、問題を解決しました。
_System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
//open file and returns as Stream
using (var stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
}
}
_