Winform操作Excel,哪种方式合适?

巴士上的邂逅 2020-07-13 12:34:18
好久没来了。现在一个项目,情况是:数据内容是固定的,通过自定义的模板(Excel文件)填充数据,导出、打印Excel。
现在有个需求:
根据客户的需求更改报告的模板,方便(不用开发)客户或者甲方增加模板,并方便定位要填写的数据的位置。

现在对实现的方法有几个猜想:
1、用VSTO技术,不是很了解,不知道合不合适用这个技术;
2、通过现成的报表工具;
3、用npoi技术。
对以上技术都不怎么熟悉,不知道哪种或者其他技术可以实现我的需求,望大家前来指导。
...全文
861 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
巴士上的邂逅 2020-07-19
  • 打赏
  • 举报
回复
了解了下DevExpress,发现Spreadsheet确实能满足我的需求。
引用 9 楼 飞天凤凰601 的回复:
情况是:数据内容是固定的 --------- 建议生成word文档,用修改书签的方法,或者用devexpress直接导出excel
jsjhj2008 2020-07-18
  • 打赏
  • 举报
回复
推荐npoi,免费开源。
appo_li 2020-07-15
  • 打赏
  • 举报
回复
spire解决所有问题
nik_Amis 2020-07-15
  • 打赏
  • 举报
回复
npoi支持office最新 版本嘛?好像早就停止更新了吧?Office新版 完全是抛弃用户习惯,并且对原有某种格式不做支持,转而支持压缩包格式,个人觉得office新版完全是个失败的产品。早先楼主的这种需求很简单,直接输出html就可以,而且可以做的跟客户表格一模一样,而且不需要任何第三方组件或者office组件支持,非常灵活。但是新版office不再支持这种格式。 如果有精力可以研究下office的 文件,实际上就是一个压缩包。
蕭笙默 2020-07-15
  • 打赏
  • 举报
回复
我前面也做过一个demo 你如果是往模板得单元格里填充数据,如表格里的字段啥的,可以用vsto 做个加载项挺方便得。具体的网上找找 很容易找到
沉沦假象 2020-07-15
  • 打赏
  • 举报
回复
推荐NOPI,速度比较快,VSTO处理Excel比较慢. 导出的话可以配置excel中列号和对应字段的映射关系,然后用反射或者DataTable来实现指定数据的导出
IT_study001 2020-07-14
  • 打赏
  • 举报
回复
看了一圈。每个评论都很有灵感。吸纳一下大佬们的意见。
  • 打赏
  • 举报
回复
VSTO、报表工具、NPOI,都是一些不错的软件。但是就好象你开一个软件公司,参考的是乡镇养猪场,虽然现在猪肉很贵,养猪业也有许多上市的大公司,但是一定要知道养猪跟雇佣软件开发工程师和架构师是不同的行业。一定要先搞明白需求和技术路线。
csdnFUCKINGSUCKS 2020-07-13
  • 打赏
  • 举报
回复
1.功能强大,但是坑太多,资料相对较少,依赖office本体。 2.场景不适用 3.目前比较流行的组件,跨平台,不依赖office。上手比较容易,相关资料也比较丰富。
  • 打赏
  • 举报
回复
关于模板,建议可以参考一下勤哲Excel服务器的设计。http://www.qinzhe.com/cn/tutorial-2010/t-03-04.html我并不是说它就是照抄的目标,一定也有人说“我要的不复杂”。关键是要理解企业对模板的需求要点,从细节能看出后续问题是否可以解决。
  • 打赏
  • 举报
回复
三个中没有一个是最适合的,但是假设你熟悉其实也都可以。关键是细节的执行力,看起来深入不到细节。
江湖评谈 2020-07-13
  • 打赏
  • 举报
回复
主流的 就是 npoi 吧,或者微软自带的 API
巴士上的邂逅 2020-07-13
  • 打赏
  • 举报
回复
不要沉不要沉,加分了
八爻老骥 2020-07-13
  • 打赏
  • 举报
回复
引用 12 楼 icoolno1 的回复:
VSTO其实很麻烦,背地里还要打开Excel进程,还要设置com+的访问权限,还office版本兼容性问题,能不用最好不用。不过,VSTO确实可以做很复杂的Excel应用,基本上跟你直接操作Excel差不多。

VBA能做的,VSTO都可以做到。
八爻老骥 2020-07-13
  • 打赏
  • 举报
回复
VSTO其实很麻烦,背地里还要打开Excel进程,还要设置com+的访问权限,还office版本兼容性问题,能不用最好不用。不过,VSTO确实可以做很复杂的Excel应用,基本上跟你直接操作Excel差不多。
highreport 2020-07-13
  • 打赏
  • 举报
回复
highreport.net是国产报表工具,类Excel设计,是net/C#语言实现,支持复杂报表展示,复杂表单填报,导出和打印功能,性价比最高的,产品服务好,可以了解下这个软件
threenewbee 2020-07-13
  • 打赏
  • 举报
回复
npoi,免费开源,需要的依赖最少。如果功能能够满足,就npoi吧
飞天凤凰601 2020-07-13
  • 打赏
  • 举报
回复
情况是:数据内容是固定的 --------- 建议生成word文档,用修改书签的方法,或者用devexpress直接导出excel
m0_48036920 2020-07-13
  • 打赏
  • 举报
回复
一定要先搞明白需求和技术路线。看看别的系统开发设计一个模板系统的不同层次不同阶段架构,有好处。
  • 打赏
  • 举报
回复
有人问“我们是1万人的企业要开发一套ERP,请问用 c# 还是 java 还是 js 还是 python 还是 c++?”,这类问题就是类似的问题,没法真正按照这个思路去回答。要操控 Excel,分为不同的层次。有的是“皮毛”的,例如只是把上传的文档简单地读写一下下;有的是初步深入的,例如需要在桌面管理系统列表中打开个人文档然后你的 .net 程序控制其单元格操作、捕获其事件(例如下拉列表序列值改变事件、单元格改变事件、图表刷新或者统计规划事件等等);还有的更加高级,例如需要捕获菜单栏各种事件、区域加锁保护、上传下载内容等等。实际上更多地是结合 Excel需要把业务概念嵌入进去。例如有些界面在一个“平面”上有许多块儿一维表和二维表,有的地方是放图章的,有的地方是放签字的,等等。看看别的系统开发设计一个模板系统的不同层次不同阶段架构,有好处。

111,104

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧