以文本方式查看主题 - 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=171348) |
-- 作者:reachtone -- 发布时间:2021/8/27 9:15:00 -- 用excel报表生成网页时的图片路径问题 我现在的foxtable文件保存在一个文件夹中,比如server; 网页文件保存在另一个文件夹,比如www,包括excel模板文件也是在这个文件夹。 这样的好处是,前后端文件分开,便于管理。 目前碰到的问题是,excel模板使用图片列时,这些图片还必须放到foxtable项目所在的images文件夹中才能正常生成报表,否则就没办法显示。 我现在想把图片放到其他文件夹里,怎么处理呢?
|
-- 作者:有点蓝 -- 发布时间:2021/8/27 9:22:00 -- 图片列指定存放目录:http://www.foxtable.com/webhelp/topics/0088.htm |
-- 作者:reachtone -- 发布时间:2021/8/27 9:47:00 -- 参考高级版帮助,加上了以下代码: Dim Book As New XLS.Book(bk) book.AddDataTable("员工","test","S e l e c t * f r o m 员工 w h e r e 姓名 = \'王伟\'") book.DataTables("员工").DataCols("照片").ExtendType = ExtendTypeEnum.Images book.DataTables("员工").DataCols("照片").SourceFolder = "d:\\www\\images" 但后面两行代码出错,提示不存在名为“员工”的datatable
|
-- 作者:有点蓝 -- 发布时间:2021/8/27 9:51:00 -- 要在主表的列属性里设置,在之前存储图片的时候就要存储为正确的路径即可。生成报表的时候不需要加这个 |
-- 作者:reachtone -- 发布时间:2021/8/27 9:58:00 -- 我这个foxtable项目里,用于生成excel报表的都是基于后台的临时datatable: |
-- 作者:chen37280600 -- 发布时间:2021/8/27 10:01:00 -- 我教你一个最直接粗暴的方法,我现在分享的A2迷你产品报价系统,excel导出带图片,就是这个方法 “图片列直接写绝对路径,就能导出” 在导出前,对明细表加一个临时列存放图片,然后循环一次明细表,把图片的绝对路径写在临时列里,excel模板也放这个
[此贴子已经被作者于2021/8/27 10:05:36编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/8/27 10:04:00 -- 没错,就是【后台的临时datatable】图片列使用的是绝对路径即可 |
-- 作者:reachtone -- 发布时间:2021/8/27 10:05:00 -- 这样总觉得别扭啊,我的www文件夹就是放前端文件的,图片都在这个目录里,从这里直接读取最好。 问题是,我按照5楼帮助里的写法,是报错的,不知道这是不是bug
|
-- 作者:有点蓝 -- 发布时间:2021/8/27 10:07:00 -- 报什么错?5楼的用法是ftp的,不要和3楼的用法搞混了,不是一回事 |
-- 作者:chen37280600 -- 发布时间:2021/8/27 10:08:00 -- 别直接读取,客户传的说不定是小米11拍的50m一张的图片,2张你的excel就爆了 肯定是先压缩,再引用到excel,最后删除缓存的压缩图片,科学办法
|