以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于excel如何才能导出自定义的样式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82201) |
-- 作者:冰淇淋小子 -- 发布时间:2016/3/13 16:18:00 -- 关于excel如何才能导出自定义的样式 5如,我的内存如果是2g红色加粗,出厂日期有2008.2009.2010红色加粗。如果中心字段有离职,公共设施加不同的背景色。请问这个报表如何去做? |
-- 作者:sjx71 -- 发布时间:2016/3/13 20:17:00 -- http://www.foxtable.com/help/topics/1146.htm |
-- 作者:冰淇淋小子 -- 发布时间:2016/3/13 21:29:00 -- 那excel编程的代码是放到哪里?我看帮助没有提到吗? |
-- 作者:sjx71 -- 发布时间:2016/3/13 21:34:00 -- 可以做一个窗口,加一个按钮,在按钮的click 事件中写代码 也可以做菜单,比较麻烦点。
|
-- 作者:冰淇淋小子 -- 发布时间:2016/3/13 21:42:00 -- 明白了。 |
-- 作者:冰淇淋小子 -- 发布时间:2016/3/14 4:47:00 -- 我是新手,还能帮我写一下,条件是,如果如果中心是离职或者公共设施的自动加背景色。背景色我在自定义样式设置好了。如果内存,2g自动红色加粗。如果生产日期,包含2008.2 009.2010红色加粗,如果保修日期超过5年,包含5年的红色加粗。如果是否过保跟保修日期对比,如果超过当前日期算自动过保,过保颜色加粗。 这个条件在eexcel编程如何实现?
|
-- 作者:冰淇淋小子 -- 发布时间:2016/3/14 5:03:00 -- 我使用年限用的是双精度小数。扩张类型是时段,那我怎么在excsl把使用年限转换为某年某月 |
-- 作者:大红袍 -- 发布时间:2016/3/14 10:39:00 -- 如果保存的是天数,那么直接除以365,除以12就是答案
Dim d As Double = 370 |
-- 作者:冰淇淋小子 -- 发布时间:2016/3/14 10:51:00 -- 导出excel是不是这样写: Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.ForeColor = Color.Red style.FontBold = True \'样式的背景颜色设为红色 For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To dt.Cols.Count -1 Sheet(r +1, c).Value = dt.rows(r)(c) Next If dt.rows(r)("内存") = 2G Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("内存").Index).Style = Style \'设置折扣单元格的样式 End If Next Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = BackColor.Red style.FontBold = True \'样式的背景颜色设为红色 Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For c As Integer = 0 To nms.length -1 Sheet(0, c).Value = caps(c) \'指定列标题 Sheet.Cols(c).Width = szs(c) \'指定列宽 If dt.Cols(nms(c)).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To dt.Cols.Count -1 Sheet(r +1, c).Value = dt.rows(r)(c) Next If dt.rows(r)("生产日期") = 2008,2009,2010 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("生产日期").Index).Style = Style \'设置折扣单元格的样式 End If Next Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = BackColor.Red style.FontBold = True \'样式的背景颜色设为红色 Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For c As Integer = 0 To nms.length -1 Sheet(0, c).Value = caps(c) \'指定列标题 Sheet.Cols(c).Width = szs(c) \'指定列宽 If dt.Cols(nms(c)).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To dt.Cols.Count -1 Sheet(r +1, c).Value = dt.rows(r)(c) Next If dt.rows(r)("保修日期") = 没过保, 过保 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style \'设置折扣单元格的样式 End If Next Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = BackColor.Plum style.FontBold = True \'样式的背景颜色设为红色 Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For c As Integer = 0 To nms.length -1 Sheet(0, c).Value = caps(c) \'指定列标题 Sheet.Cols(c).Width = szs(c) \'指定列宽 If dt.Cols(nms(c)).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To dt.Cols.Count -1 Sheet(r +1, c).Value = dt.rows(r)(c) Next If dt.rows(r)("保修日期") = 没过保, 过保 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style \'设置折扣单元格的样式 else If dt.rows(r)("保修日期") = 没过保, 过保 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("保修日期").Index).Style = Style \'设置折扣单元格的样式 End If Next Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = BackColor.Plum style.FontBold = True \'样式的背景颜色设为红色 Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For c As Integer = 0 To nms.length -1 Sheet(0, c).Value = caps(c) \'指定列标题 Sheet.Cols(c).Width = szs(c) \'指定列宽 If dt.Cols(nms(c)).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.Cols(c).Name Next For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据 For c As Integer = 0 To dt.Cols.Count -1 Sheet(r +1, c).Value = dt.rows(r)(c) Next If dt.rows(r)("公共设施") = 公共设施 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("公共设施").Index).Style = Style \'设置折扣单元格的样式 else If dt.rows(r)("使用年限") = date.today Then Dim d As Double = 370 msgbox(d \\ 365)msgbox((d Mod 365) \\ 12 + 1) End If Next 这样写吗?? |
-- 作者:大红袍 -- 发布时间:2016/3/14 17:26:00 -- 类似这样写,设置样式,修改值的,直接添加在红色代码的后面即可
Dim dt As Table = Tables("南京徳亨文生物科技有限公司设备一览表")
[此贴子已经被作者于2016/3/14 17:28:12编辑过]
|