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

質問編集履歴

2

タグの更新

2016/11/10 13:48

投稿

shikasama
shikasama

スコア163

title CHANGED
File without changes
body CHANGED
File without changes

1

アドバイス後更新

2016/11/10 13:48

投稿

shikasama
shikasama

スコア163

title CHANGED
File without changes
body CHANGED
@@ -39,4 +39,42 @@
39
39
  ```
40
40
 
41
41
  どのようにしたら実現できますでしょうか?
42
- ご教授お願いします。
42
+ ご教授お願いします。
43
+
44
+ #ishi9様のアドバイス後
45
+ ```C#
46
+ static void Main(string[] args)
47
+ {
48
+ var templateName = "テスト.xlsx";
49
+
50
+ var byteArray = System.IO.File.ReadAllBytes(templateName);
51
+ var templateSheetName = "Sheet1";
52
+
53
+ using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(templateName, true))
54
+ {
55
+ WorkbookPart workbookPart = spreadSheet.WorkbookPart;
56
+ Sheet targetSheet = (Sheet)spreadSheet.WorkbookPart.Workbook.Sheets.Elements<Sheet>().Where(s => s.Name == templateSheetName).FirstOrDefault();
57
+ if (targetSheet == null)
58
+ {
59
+ return;
60
+ }
61
+
62
+ WorksheetPart worksheetPart = (WorksheetPart)(workbookPart.GetPartById(targetSheet.Id));
63
+
64
+ SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
65
+ var refRowIndex = 4;
66
+ var iEndRowIndex = 12;
67
+ Row refRow = worksheetPart.Worksheet.Descendants<Row>().Where(r => r.RowIndex == refRowIndex).First();
68
+
69
+ refRow.Remove();
70
+
71
+ for (int index = refRowIndex + 1; index <= iEndRowIndex; index++)
72
+ {
73
+ Row refRow1 = worksheetPart.Worksheet.Descendants<Row>().Where(r => r.RowIndex == index).First();
74
+ refRow1.RowIndex.Value--;
75
+ }
76
+
77
+ worksheetPart.Worksheet.Save();
78
+ }
79
+ }
80
+ ```