以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Excel报表导出style无法同时使用  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=176442)

--  作者:martin723
--  发布时间:2022/4/13 15:30:00
--  [求助]Excel报表导出style无法同时使用
Dim Style As Xls.Style = Book.NewStyle \'新建一个样式  标题行
Style.BackColor = Color.black \'样式的背景颜色设为黑色
Style.ForeColor = Color.White  \'设置样式的字体颜色

Dim Style1 As Xls.Style = Book.NewStyle \'新建一个样式   奇数行
Style1.BackColor = Color.LightGray \'样式的背景颜色设为灰色
Style1.ForeColor = Color.black \'设置样式的字体颜色

Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式   日期单元格
st.Format = "yyyy-MM-dd"

For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
    If r Mod 2 = 0 Then  Sheet.rows(r).Style =style1

下面想设置成齐数行有背景色,如果还是日期类型的时候按年月日显示。
但实际上只能使用一种类型,提前按列已经将日期列设为st了,但后面奇数行设置完背景色后日期就变数字了。

--  作者:有点蓝
--  发布时间:2022/4/13 15:38:00
--  
如果需要按年月日+ 行有背景色显示,需要新增一个样式,这个样式同时指定年月日和背景色

Dim st2 As XLS.Style = Book.NewStyle \'日期列的显示格式   日期单元格
st2.Format = "yyyy-MM-dd"
st2.BackColor = Color.LightGray \'样式的背景颜色设为灰色
st2.ForeColor = Color.black \'设置样式的字体颜色

需要颜色的行使用st2,不需要的使用st

--  作者:martin723
--  发布时间:2022/4/13 15:38:00
--  
如图
--  作者:martin723
--  发布时间:2022/4/13 15:40:00
--  
谢谢
--  作者:martin723
--  发布时间:2022/4/13 15:44:00
--  
这样也挺麻烦,原来是按列设置一遍,行设置一遍,现在就得按单元格逐个设置了。没有其他的解决办法了吗
--  作者:有点蓝
--  发布时间:2022/4/13 15:50:00
--  
没有