以文本方式查看主题

-  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=5594)

--  作者:舜风
--  发布时间:2009/12/21 22:15:00
--  [讨论]关于Excel报表单位格公式的问题

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

Excel报表是否能实现单元格之间用 =SUM(B2:C2)=B2+E7+B11+D19 这样的表内公式?如何实现呢?



如在一张A3纸大的人事报表,往往需要几十个不同的统计数代码,而代码间也还需很多连续与非连续的数据需要累加,所以想到如果能实现表中自设公式,将简化很多繁琐的代码设置与调试。
--  作者:blackzhu
--  发布时间:2009/12/22 7:52:00
--  
以下是引用舜风在2009-12-21 22:15:00的发言:

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

Excel报表是否能实现单元格之间用 =SUM(B2:C2)=B2+E7+B11+D19 这样的表内公式?如何实现呢?



如在一张A3纸大的人事报表,往往需要几十个不同的统计数代码,而代码间也还需很多连续与非连续的数据需要累加,所以想到如果能实现表中自设公式,将简化很多繁琐的代码设置与调试。

  所有在狐表生成的报表中,excel原有的函数公式都不能运用.只能在狐表中计算好了,导出.


--  作者:舜风
--  发布时间:2009/12/22 9:29:00
--  
哎,美中不足,又要设置无数的代码
--  作者:lxl
--  发布时间:2009/12/22 9:41:00
--  
引用下面这个dll
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:microsoft.office.interop.excel.rar


Microsoft.Office.Interop.Excel.Worksheet.Calculate()方法可以重算工作表
--  作者:菜鸟foxtable
--  发布时间:2009/12/22 11:01:00
--  
图片点击可在新窗口打开查看以下是引用lxl在2009-12-22 9:41:00的发言:
引用下面这个dll
 下载信息  [文件大小:216.6 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:microsoft.office.interop.excel.rar


Microsoft.Office.Interop.Excel.Worksheet.Calculate()方法可以重算工作表

图片点击可在新窗口打开查看好东西,赶紧收藏。。


L版找个时间教教咱们如何写DLL吧?

[此贴子已经被作者于2009-12-22 11:02:10编辑过]

--  作者:舜风
--  发布时间:2009/12/22 11:12:00
--  
以下是引用lxl在2009-12-22 9:41:00的发言:
引用下面这个dll
 下载信息  [文件大小:216.6 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:microsoft.office.interop.excel.rar


icrosoft.Office.Interop.Excel.Worksheet.Calculate()方法可以重算工作表

L版:引用是否在保存文件代码前加入,就可以?


--  作者:lxl
--  发布时间:2009/12/22 11:17:00
--  
以下是引用菜鸟foxtable在2009-12-22 11:01:00的发言:

图片点击可在新窗口打开查看好东西,赶紧收藏。。


L版找个时间教教咱们如何写DLL吧?

[此贴子已经被作者于2009-12-22 11:02:10编辑过]

呵呵,这个dll不是我写的,是微软提供的
里面有很多有用的类,可以容易、精确的控制EXCEL
比如禁止复制、粘贴,添加保护密码等等


--  作者:lxl
--  发布时间:2009/12/22 11:24:00
--  
以下是引用舜风在2009-12-22 11:12:00的发言:

L版:引用是否在保存文件代码前加入,就可以?

把文件复制到foxtable目录下,
管理项目→外部引用→浏览→选中这个dll→添加
点命名空间选项卡→输入命名空间“Microsoft.Office.Interop.Excel”→输入自己的别名,如:mExcel
下面就可以根据情况写代码了。比如
Dim mApp As New mExcel.Application
Dim mBook As mExcel.Workbook = mApp.Workbooks.Open(ProjectPath  & "reports\\" & Name  & ".xls")
Dim mSheet As mExcel.Worksheet = mBook.Sheets.Item(1)
mSheet.Calculate()
mBook.Save()
mApp.Visible = True


--  作者:reachtone
--  发布时间:2009/12/22 11:49:00
--  
这个好,收藏了!
另请教lxl版主,能不能根据excel的指定区域数据自动生成分析图呢?一直想认真研究一下vba,但实在是抽不出时间。
foxtable的图表控件无法完成标示数据的拖拽,很是头疼啊。
如果象8楼的代码一样,也可以执行一个方法就能自动选定区域、并生成图表就厉害了!
--  作者:舜风
--  发布时间:2009/12/22 11:51:00
--  
以下是引用lxl在2009-12-22 11:24:00的发言:

把文件复制到foxtable目录下,
管理项目→外部引用→浏览→选中这个dll→添加
点命名空间选项卡→输入命名空间“Microsoft.Office.Interop.Excel”→输入自己的别名,如:mExcel
下面就可以根据情况写代码了。比如
Dim mApp As New mExcel.Application
Dim mBook As mExcel.Workbook = mApp.Workbooks.Open(ProjectPath  & "reports\\" & Name  & ".xls")
Dim mSheet As mExcel.Worksheet = mBook.Sheets.Item(1)
mSheet.Calculate()
mBook.Save()
mApp.Visible = True

好似我操作不对?

问:已生成报表文件中的函数公式已经不存在,现再次打开并 mSheet.Calculate() 应该不成立吧

[此贴子已经被作者于2009-12-22 11:51:50编辑过]