質問編集履歴
4
ClosedXMLのタグの追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | 
            File without changes
         | 
3
ソースコードの補足3
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            ###発生している問題・エラーメッセージ
         | 
| 2 2 | 
             
            No 会社名 担当者名
         | 
| 3 | 
            -
            といった感じに並んでいるタブ区切りの何百行とあるテキストデータを読み込んで、会社名別に担当者を振り分けたExcelファイルを作ろうと考え、ClosedXMLを利用してみました。ところが、13行目を読み込んだあたりで
         | 
| 3 | 
            +
            といった感じに並んでいるタブ区切りの何百行とあるテキストデータを読み込んで、会社名別に担当者を振り分けたExcelファイルを作ろうと考え、ClosedXMLを利用してみました。ところが、13行目を読み込んだあたりでwb.SaveAs(tFiName);の箇所に、
         | 
| 4 4 |  | 
| 5 5 | 
             
            > 同一のキーを含む項目が既に追加されています。
         | 
| 6 6 |  | 
| @@ -25,8 +25,9 @@ | |
| 25 25 | 
             
                    IXLCell cell = ws.Cell(row, col);
         | 
| 26 26 | 
             
                    cell.Value = "'" + tList[col - 1];
         | 
| 27 27 | 
             
                }
         | 
| 28 | 
            -
                wb.SaveAs(tFiName);
         | 
| 28 | 
            +
                wb.SaveAs(tFiName); //ここに該当のエラーが表示されます
         | 
| 29 29 | 
             
                //wb.Save(); としても結果は一緒でした
         | 
| 30 | 
            +
                //wb.Dispose(); を加えても結果は一緒でした
         | 
| 30 31 | 
             
            }
         | 
| 31 32 | 
             
            //ここまでをテキストデータ最終行が来るまで繰り返す
         | 
| 32 33 | 
             
            ```
         | 
2
ソースコードの補足2
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -8,29 +8,25 @@ | |
| 8 8 |  | 
| 9 9 | 
             
            また、try catchでエラーを無視すると、3行ほどは同じようなエラーが出て、16行目あたりからは再び書き込みに成功し始めるようです。
         | 
| 10 10 |  | 
| 11 | 
            -
            ソースコードは下記のような感じです。1行読み込んで会社名からファイル名を生成、該当のファイルがなければマスターとなるExcelをコピー、ファイルを開いて最終行に担当者名を追加、といった処理を加えています。
         | 
| 11 | 
            +
            ソースコードは下記のような感じです。1行読み込んで会社名からファイル名を生成、該当のファイルがなければマスターとなるExcelをコピー(tFiName)、そのファイルを開いて最終行に担当者名を追加、といった処理を加えています。
         | 
| 12 12 |  | 
| 13 13 | 
             
            ###該当のソースコード
         | 
| 14 14 | 
             
            ```C#
         | 
| 15 | 
            -
            //ファイルの1行を分解
         | 
| 16 15 | 
             
            tLine = sr.ReadLine();//StreamReaderでテキストデータを1行読み込み
         | 
| 17 16 | 
             
            tList = tLine.Split('\t');
         | 
| 18 17 |  | 
| 18 | 
            +
            //tFiNameに生成したファイル名が入っています
         | 
| 19 19 | 
             
            using (XLWorkbook wb = new XLWorkbook(tFiName))
         | 
| 20 20 | 
             
            using (IXLWorksheet ws = wb.Worksheet(2))
         | 
| 21 21 | 
             
            {
         | 
| 22 | 
            -
             | 
| 23 22 | 
             
                row = ws.LastRowUsed().RowNumber() + 1;
         | 
| 24 | 
            -
                //int lastCol = worksheet.LastColumnUsed().ColumnNumber();
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                //row:行 col:列
         | 
| 27 23 | 
             
                for (int col = 1; col < tList.Length + 1; col++)
         | 
| 28 24 | 
             
                {
         | 
| 29 25 | 
             
                    IXLCell cell = ws.Cell(row, col);
         | 
| 30 26 | 
             
                    cell.Value = "'" + tList[col - 1];
         | 
| 31 27 | 
             
                }
         | 
| 32 | 
            -
             | 
| 33 28 | 
             
                wb.SaveAs(tFiName);
         | 
| 29 | 
            +
                //wb.Save(); としても結果は一緒でした
         | 
| 34 30 | 
             
            }
         | 
| 35 31 | 
             
            //ここまでをテキストデータ最終行が来るまで繰り返す
         | 
| 36 32 | 
             
            ```
         | 
1
ソースコードの補足
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -4,7 +4,7 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            > 同一のキーを含む項目が既に追加されています。
         | 
| 6 6 |  | 
| 7 | 
            -
            というエラーが表示され、 | 
| 7 | 
            +
            というエラーが表示され、書き込みができなくなります。当初テキストデータ自体が悪いのかと思い、エラーの出る行を冒頭に持っていくなど並べ替えてもみましたが、やはり13行目あたりで同じようなエラーがでています。結局別のファイルで試してみても似たような感じでエラーが出ました。
         | 
| 8 8 |  | 
| 9 9 | 
             
            また、try catchでエラーを無視すると、3行ほどは同じようなエラーが出て、16行目あたりからは再び書き込みに成功し始めるようです。
         | 
| 10 10 |  | 
| @@ -12,6 +12,10 @@ | |
| 12 12 |  | 
| 13 13 | 
             
            ###該当のソースコード
         | 
| 14 14 | 
             
            ```C#
         | 
| 15 | 
            +
            //ファイルの1行を分解
         | 
| 16 | 
            +
            tLine = sr.ReadLine();//StreamReaderでテキストデータを1行読み込み
         | 
| 17 | 
            +
            tList = tLine.Split('\t');
         | 
| 18 | 
            +
             | 
| 15 19 | 
             
            using (XLWorkbook wb = new XLWorkbook(tFiName))
         | 
| 16 20 | 
             
            using (IXLWorksheet ws = wb.Worksheet(2))
         | 
| 17 21 | 
             
            {
         | 
| @@ -28,6 +32,7 @@ | |
| 28 32 |  | 
| 29 33 | 
             
                wb.SaveAs(tFiName);
         | 
| 30 34 | 
             
            }
         | 
| 35 | 
            +
            //ここまでをテキストデータ最終行が来るまで繰り返す
         | 
| 31 36 | 
             
            ```
         | 
| 32 37 |  | 
| 33 38 | 
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         | 
