C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: NPOIでGetRowがNULLになる


(過去ログ 91 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■54325 / inTopicNo.1)  NPOIでGetRowがNULLになる
  
□投稿者/ TAMA (10回)-(2010/10/13(Wed) 18:51:28)

分類:[ASP.NET (C#)] 

いつもお世話になっております。
NOPIでエクセルを操作しているのですが、不慣れでして、
基本的なことかもしれませんが、行き詰っていますので
ご質問させていただきます。

○環境
ASP.NET 4.0 (C#)
NPOI 1.2.3

○処理概要
雛形のエクセルを用意し、雛形エクセルを開き、
値等を設定し、別ファイルとしてエクセルを保存する。

○ソース
//雛形エクセルを開く
var fsHinagataExcel = new FileStream(strDataDir + "雛形.xls", FileMode.Open, FileAccess.ReadWrite);
var book = new HSSFWorkbook(fsHinagataExcel);

//雛形エクセルに値等を設定
var sheetSoukatsu = book.GetSheet("シート名");
var row = sheetSoukatsu.GetRow(5);
var cell = row.GetCell(3);

cell.SetCellValue("test");

//tempフォルダ内に保存
var fsOutputExcel = new FileStream(strDataDir + "temp/雛形.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite);
book.Write(fsOutputExcel);

fsHinagataExcel.Close();
fsOutputExcel.Close();

上記の「var row = sheetSoukatsu.GetRow(5);」のところでrowにNULLが入ります。
※CreateRowメソッドでやると正常に出来ているので、GetRowの使い方が単純に
正しくないのかと思われますが・・・いろいろ検索したののですが、答えが分からなかったので
何卒ご教授願います。
引用返信 編集キー/
■54332 / inTopicNo.2)  Re[1]: NPOIでGetRowがNULLになる
□投稿者/ もりお (294回)-(2010/10/14(Thu) 06:34:28)
2010/10/14(Thu) 08:59:09 編集(投稿者)
なにゆえに変数 row に null が入るのかという質問でよろしゅうござりまするか。 

API Documentation の HSSFSheet.GetRow メソッドをみると。
row が未定義であれば、null を返すという記述があります。

POI API Documentation
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFSheet.html#getRow%28int%29

なにを以って row が未定義である、とするのかは公式サイトでは見つけられなかったのですが。
こちらのサイトを見る限りでは、row のいずれの cell にも値がない場合のようです。

作成済みの行を取得 - 行 - Apache POIでExcelを操作
http://www.javadrive.jp/poi/row/index2.html

sheetSoukatsu.GetRow(5) で取得する行の、いずれの cell にも値が入っていないということはありませんか?

引用返信 編集キー/
■54335 / inTopicNo.3)  Re[2]: NPOIでGetRowがNULLになる
□投稿者/ TAMA (11回)-(2010/10/14(Thu) 09:10:53)
No54332 (もりお さん) に返信
> 2010/10/14(Thu) 08:59:09 編集(投稿者)
>
> sheetSoukatsu.GetRow(5) で取得する行の、いずれの cell にも値が入っていないということはありませんか?
>

もりお様いつもありがとうございます。
ご指摘の通り、値が入っているとNULLになりませんでした。
ご回答頂き、まことにありがとうございました。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -