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

回答編集履歴

1

追記

2018/12/04 04:58

投稿

YAmaGNZ
YAmaGNZ

スコア10702

answer CHANGED
@@ -25,4 +25,25 @@
25
25
 
26
26
  ClosedXMLのソースを見てみましたが、保存する際にDataValidationsを纏める行為を行っているようです。
27
27
  (/ClosedXML/Excel/XLWorkbook_Save.csの5146行あたり)
28
- この部分を修正し、ビルドしなおせば今回の現象は起こらなくなるかと思いますが、他にどのような影響があるかは分かりません。
28
+ この部分を修正し、ビルドしなおせば今回の現象は起こらなくなるかと思いますが、他にどのような影響があるかは分かりません。
29
+
30
+ ### 追記
31
+ ClosedXMLのMasterブランチのソースをダウンロードし、XLWorkbook_Save.csの5172行あたりの
32
+ ```C#
33
+ var dataValidations = worksheetPart.Worksheet.Elements<DataValidations>().First();
34
+ cm.SetElement(XLWSContentManager.XLWSContents.DataValidations, dataValidations);
35
+ dataValidations.RemoveAllChildren<DataValidation>();
36
+ xlWorksheet.DataValidations.Consolidate();
37
+
38
+ ```
39
+
40
+ ```C#
41
+ var dataValidations = worksheetPart.Worksheet.Elements<DataValidations>().First();
42
+ cm.SetElement(XLWSContentManager.XLWSContents.DataValidations, dataValidations);
43
+ dataValidations.RemoveAllChildren<DataValidation>();
44
+ //xlWorksheet.DataValidations.Consolidate();
45
+
46
+ ```
47
+ とコメントアウトしビルドしたもので試したところ、DataValidationsが纏められて入力規則が必要なところ以外に適用されることはなくなりました。
48
+ ただ、この修正を加えることにより他に影響があるのかは分かりません。
49
+ 修正を加えたものを使用するかは自己責任でお願いいたします。