質問編集履歴
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/ツール等のバージョンなど)
|