あなたは(FileAccess.Write
)を作成するための新しいFileStream
を作成しているので、例外を取得し、ことができるように期待しているHSSFWorkbook
のコンストラクタにそれを渡しているが、ストリームからをお読みください。 FileStream
がファイルを作成しているためにファイルが壊れていますが、何も書き込まれていません。
新しい空白のブックを作成してファイルに保存しようとしているのであれば、次のようにすることができます。新しいブックに少なくとも1つのワークシートを追加する必要がある、または破損したファイルが生成されることに注意してください。
// Create a new workbook with an empty sheet
HSSFWorkbook wbXLS = new HSSFWorkbook();
ISheet sheet = wbXLS.CreateSheet("Sheet1");
// Write the workbook to a file
string fileName = @"C:\Users\andrei.tudor\Documents\TipMacheta.xls";
using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
wbXLS.Write(stream);
}
あなたはそれが存在しない場合は、既存のブックを読んだり、新しいものを作成しようとしている場合、あなたはこのような何かを実行する必要があります。
string fileName = @"C:\Users\andrei.tudor\Documents\TipMacheta.xls";
HSSFWorkbook wbXLS;
try
{
// Try to open and read existing workbook
using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
wbXLS = new HSSFWorkbook(stream);
}
}
catch (FileNotFoundException)
{
// Create a new workbook with an empty sheet
wbXLS = new HSSFWorkbook();
wbXLS.CreateSheet("Sheet1");
}
ISheet sheet = wbXLS.GetSheetAt(0); // Get first sheet
// ...
// Write workbook to file
using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
wbXLS.Write(stream);
}
例外とは何ですか?あなたは常にあなたの質問にそのような関連情報を含める必要があります。 – mason
これは本当になぜ私のコードがうまくいかないのか、https://npoi.codeplex.com/documentationのドキュメンテーションを見て、トピックから離れていない質問をするあなたの質問は閉鎖されると投票されました –
例外はありませんが、Excelが作成されていますが、それは訂正されて空でもあります – Spoukey