Excelを操作するときのIndexは...

ExcelのRowやColumnを操作するときは,indexが1から始まるのをすっかり忘れていて,実行してエラーが出るまで気づかずコーディングしていた...orz
1からなんだよね.0じゃないんだったそうでした.

using Excel = Microsoft.Office.Interop.Excel;

// ...

using (ComRef<Excel.Range> xlRange_i = new ComRef<Excel.Range>(xlAreas.Obj.get_Item(i)))
{
    List<List<string>> data = new List<List<string>>();
    for (int row = 1; row <= xlRange_i.Obj.Row; ++row)
    {
        List<string> line = new List<string>();
        for (int col = 1; col <= xlRange_i.Obj.Column; ++col)
        {
            using (ComRef<Excel.Range> xlCell = new ComRef<Excel.Range>( (Excel.Range)xlRange_i.Obj[row, col]) )
            // ...

ComRefについては,http://d.hatena.ne.jp/KrdLab/20070102/1167666799をご覧ください.