質問するログイン新規登録

質問編集履歴

1

該当ソースコードの追加

2021/12/03 07:36

投稿

mayoyo
mayoyo

スコア2

title CHANGED
File without changes
body CHANGED
@@ -4,8 +4,36 @@
4
4
  実現したいこととしては、
5
5
  ArrayList<Double> a = new ArrayList<>();
6
6
  ArrayList<Double> b = new ArrayList<>();
7
- ArrayList<Double> c = new ArrayList<>();
8
- のように可変配列a,b,c があり、これらをExcelのA列、B列、C列にそれぞれ値を出力させたいです。
7
+ のように可変配列a,b,c があり、これらをExcelのA列、B列にそれぞれ値を出力させたいです。
9
- (可変配列a,b,c の要素数はそれぞれ異なるものとします)
8
+ (可変配列a,b の要素数はそれぞれ異なるものとします)
10
- もともと存在するExcelファイルへ書きこむ方法でも、Excelファイルを新規作成して書き込む方法どちらでも構いません。
11
- 対処につき、ご教授お願い致します.
9
+ 対処につき、ご教授お願い致します.
10
+
11
+ ### 発生している問題
12
+ bの値はExcelファイルのB列に出力することができますが、aの値が出力できません。
13
+ 恐らく上書き保存されているのかと思いますが、どのように対処すればよいのかわからないといった状態です。
14
+
15
+ ### 該当のソースコード
16
+ ```java
17
+ try {
18
+ Path path = Paths.get("C:\~省略~\data.xlsx");
19
+ InputStream inSt = Files.newInputStream(path);
20
+ workbook = new XSSFWorkbook(inSt);
21
+ Sheet sheet = workbook.getSheet("Sheet1");
22
+ for(int i = 0; i < a.size(); i++) {
23
+ Row row = sheet.createRow(i);
24
+ Cell cell = row.createCell(0);
25
+ cell.setCellValue(a.get(i));
26
+ }
27
+ for(int j = 0; j < b.size(); j++) {
28
+ Row row = sheet.createRow(j);
29
+ Cell cell = row.createCell(1);
30
+ cell.setCellValue(b.get(j));
31
+ }
32
+ Path outPath = Paths.get("C:\~省略~\data_output.xlsx");
33
+ OutputStream outSt = Files.newOutputStream(outPath);
34
+ workbook.write(outSt);
35
+ }catch (IOException e) {
36
+ System.out.println("入出力例外が発生!!!");
37
+ } finally {
38
+ }
39
+ ```