質問編集履歴

4

ClosedXMLのタグの追加

2016/12/28 10:59

投稿

morinokuma0621
morinokuma0621

スコア81

title CHANGED
File without changes
body CHANGED
File without changes

3

ソースコードの補足3

2016/12/28 10:59

投稿

morinokuma0621
morinokuma0621

スコア81

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

2016/12/28 01:37

投稿

morinokuma0621
morinokuma0621

スコア81

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

ソースコードの補足

2016/12/28 01:33

投稿

morinokuma0621
morinokuma0621

スコア81

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  > 同一のキーを含む項目が既に追加されています。
6
6
 
7
- というエラーが表示され、読み込みができなくなります。当初テキストデータ自体が悪いのかと思い、エラーの出る行を冒頭に持っていくなど並べ替えてもみましたが、やはり13行目あたりで同じようなエラーがでています。結局別のファイルで試してみても似たような感じでエラーが出ました。
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/ツール等のバージョンなど)