ClosedXMLでExcelの幅調整が効かない への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 るきお  (社会人)
投稿日時
2020/3/23 12:02:44
回答ではありません。
回答者がすぐに試せるようにうまく動かないプログラムをそのまま掲載できませんか?
プログラムが長いようなら今回の減少と関係ない部分は削って最小限のプログラムになっているととても良いです。
(このような作業をしている中で自分自身で解決方法に気が付くことも良くあります。)
今のご質問内容ですと回答者はまずClosedXMLを調べて、Excelを開いたり保存したりするプログラムを理解して、そのうえでロト君さんが疑問に思っている点を調べてみることになってしまいます。
「何か力になることがあれば書いてみようかな」と意欲を持っている人でも、この手間を考えると回答することをあきらめてしまうことが多いように思います。
コピー・貼り付けするだけですぐに試せるプログラムが掲載されていれば「どれどれちょっと見てみようかなた」と実際に調べてみてくれる人が多くなると思います。
回答者がすぐに試せるようにうまく動かないプログラムをそのまま掲載できませんか?
プログラムが長いようなら今回の減少と関係ない部分は削って最小限のプログラムになっているととても良いです。
(このような作業をしている中で自分自身で解決方法に気が付くことも良くあります。)
今のご質問内容ですと回答者はまずClosedXMLを調べて、Excelを開いたり保存したりするプログラムを理解して、そのうえでロト君さんが疑問に思っている点を調べてみることになってしまいます。
「何か力になることがあれば書いてみようかな」と意欲を持っている人でも、この手間を考えると回答することをあきらめてしまうことが多いように思います。
コピー・貼り付けするだけですぐに試せるプログラムが掲載されていれば「どれどれちょっと見てみようかなた」と実際に調べてみてくれる人が多くなると思います。
投稿者 ロト君  (社会人)
投稿日時
2020/3/23 10:25:36
環境:
VB2019
ClosedXML
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
内容:
現在、VB2019を使ってExcel操作するソフトをClosedXMLを用いて作っています。
しかし、ClosedXMLを使って上手くExcelのセル幅が調整できません。
調整したいExcelのセルは、
事前に作成済みのBookを読み込んで調整したいです。
セルの調整方法は、下記の様に行っています。
'幅の調整
sheet.Column("A").Width = 2.75
sheet.Column("B").Width = 12
sheet.Column("C").Width = 4.5
しかし、A,B,Cは普通に調整できますが、なぜかEセルが指定したWidthでは調整されません。
また、sheet2にCopyToしたものはEセルが調整できます・・・。
最初の、sheetだけが上手く調整できない感じです。
問題のEセルはこんな感じのコードです。
'生年月日
sheet.Cell("E" & ii).Style.NumberFormat.Format = "yyyy年mm月dd日"
sheet.Cell("E" & ii).Value = ods.Tables("t_beef").Rows(i)("birth_date")
どなたか、ご教授お願いいたします。
宜しくお願い致します。
VB2019
ClosedXML
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
内容:
現在、VB2019を使ってExcel操作するソフトをClosedXMLを用いて作っています。
しかし、ClosedXMLを使って上手くExcelのセル幅が調整できません。
調整したいExcelのセルは、
事前に作成済みのBookを読み込んで調整したいです。
セルの調整方法は、下記の様に行っています。
'幅の調整
sheet.Column("A").Width = 2.75
sheet.Column("B").Width = 12
sheet.Column("C").Width = 4.5
しかし、A,B,Cは普通に調整できますが、なぜかEセルが指定したWidthでは調整されません。
また、sheet2にCopyToしたものはEセルが調整できます・・・。
最初の、sheetだけが上手く調整できない感じです。
問題のEセルはこんな感じのコードです。
'生年月日
sheet.Cell("E" & ii).Style.NumberFormat.Format = "yyyy年mm月dd日"
sheet.Cell("E" & ii).Value = ods.Tables("t_beef").Rows(i)("birth_date")
どなたか、ご教授お願いいたします。
宜しくお願い致します。
るきお さんの言われた通り、本スレッドにコードを張り付けてる作業中にバグを見つけてしまいました。
私のコードの確認不足でした。もし分けありませんでした。
ありがとうございます。