news 2025/12/26 17:19:31

KindEditor导入excel表格数据保留格式到OA系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
KindEditor导入excel表格数据保留格式到OA系统

震惊!程序员接单竟发现致富新大陆?!

大家好,我是北京某不知名.NET程序员小王。最近接了个CMS企业官网项目,客户说要加个Word一键粘贴功能,要求还挺多:

  • 要支持Office全家桶导入
  • 公式转换要高级(LaTeX→MathML)
  • 还得兼容高龄用户(老板的爸爸要用)
  • 预算680块(老板说这是友情价)

技术选型血泪史

本来想直接用KindEditor的,结果发现:

  1. 公式支持:emz/wmz格式直接GG
  2. 样式保留:复制粘贴后直接变抽象画
  3. 微信公众号内容:粘贴后图片全变404

我试了市面上所有开源方案:

  • CKEditor:公式插件收费
  • TinyMCE:导入功能像抽奖
  • WangEditor:对高龄用户太不友好

终极解决方案

最后我决定自己撸一个插件!下面是核心代码:

前端部分 (Vue3)

// Word粘贴魔法插件constwordPastePlugin={install(editor){editor.addButton('word_paste',{title:'Word一键粘贴',icon:'word',click:asyncfunction(){constclipboardItems=awaitnavigator.clipboard.read();for(constclipboardItemofclipboardItems){for(consttypeofclipboardItem.types){if(type==='text/html'){constblob=awaitclipboardItem.getType(type);lethtml=awaitblob.text();// 魔法转换开始html=awaittransformOfficeContent(html);// 插入编辑器editor.insertHtml(html);}}}}});}}// 注册插件KindEditor.use(wordPastePlugin);

后端部分 (C#)

// Office文档转换器publicclassOfficeConverter{publicasyncTaskConvertWordToHtml(IFormFilefile){// 用Aspose.Words搞事情(虽然买不起正版)vardoc=newDocument(file.OpenReadStream());// 处理数学公式foreach(Shapeshapeindoc.GetChildNodes(NodeType.Shape,true)){if(shape.OleFormat!=null&&shape.OleFormat.ProgId=="Equation.3"){varlatex=ExtractLatexFromOle(shape);varmathML=LatexToMathML(latex);shape.Remove();// 插入MathML到文档...}}// 保存为HTMLusingvarstream=newMemoryStream();doc.Save(stream,SaveFormat.Html);returnEncoding.UTF8.GetString(stream.ToArray());}// 其他格式转换方法类似...}

致富秘籍大公开

说到这个QQ群223813913,我必须得说:

  • 新人红包:1-99元随机(我抢到过2毛)
  • 会员升级:从青铜到王者(跟打游戏似的)
  • 提成比例:20%起跳(最高50%!)

数学题时间:

1单1万 × 50% = 5000元 10单 = 5万元 年入百万不是梦!

(注意:以上收入数据未经考证,可能包含夸张成分)

真实项目建议

正经的说,要实现这个需求:

  1. 商业方案:推荐购买Aspose.Total(预算可能要加个0)
  2. 开源方案:PDF用PDF.js,公式用MathJax
  3. 混合方案:Word用mammoth.js,公式单独处理

最终我给客户的报价是:

  • 基础功能:680元(只能复制文字)
  • 完整功能:6800元(含公式转换)
  • VIP尊享:68000元(送程序员上门服务)

客户选了…第一个选项😂


想一起讨论(或者一起做梦赚钱)的欢迎加群:223813913
(群里真有红包,虽然不大,但比老板给的预算大方)

上传工具栏插件文件夹

上传插件文件夹

控件初始化

在head中引入组件文件
注意,不要重复引入jquery,如果您的页面已经引入了jquery这里就不要再引入jquery 1.4了。

WordPaster For KindEditor-4.x # 初始化组件 WordPaster.getInstance({ui:{render:"wdpst"}//目标容器,一般为div});

设置快捷键

将插件添加到工具栏,并挂载KindEditor的Ctrl+V快捷键事件

vareditor;KindEditor.ready(function(K){editor=K.create('#content1',{items:['wordpaster','importwordtoimg','netpaster','wordimport','excelimport','pptimport','pdfimport','|','importword','exportword','importpdf','|'],afterCreate:function(){WordPaster.getInstance().SetEditor(this);varself=this;//自定义 Ctrl + V 事件。KindEditor.ctrl(self.edit.doc,'V',function(){WordPaster.getInstance().Paste();});}});});

注意

1.如果接口字段名称不是file,请配置FileFieldName。


点击查看教程

2.如果接口返回JSON,请配置ImageMatch


点击查看教程

3.如果接口返回的图片地址没有域名,请配置ImageUrl


点击查看教程

整合效果

效果

编辑器界面

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

一键粘贴Word内容,自动上传Word中的图片,保留文字样式。

Word转图片

一键导入Word文件,并将Word文件转换成图片上传到服务器中。

导入PDF

一键导入PDF文件,并将PDF转换成图片上传到服务器中。

导入PPT

一键导入PPT文件,并将PPT转换成图片上传到服务器中。

上传网络图片

示例下载

下载完整示例

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/19 0:12:04

百度免费上传组件如何整合国密算法实现加密传输?

大文件传输系统设计方案(基于SM4国密算法) 需求分析 作为四川某软件公司的开发人员,我面临以下核心需求: 实现10GB级别大文件的分片上传/下载采用国密SM4算法进行端到端加密服务端需支持SM4加密存储兼容主流浏览器及信创国产化…

作者头像 李华
网站建设 2025/12/19 0:11:04

基于FPGA实现千兆以太网通信:RGMII接口与UDP、ARP协议的奇妙之旅

基于fpga实现千兆以太网通信,纯Verilog代码,接口为rgmii,已经在开发版上验证过,支持udp和arp协议。最近在FPGA开发领域折腾了一番,成功基于FPGA实现了千兆以太网通信,采用纯Verilog代码编写,接口…

作者头像 李华
网站建设 2025/12/20 4:21:22

2026年智能汽车与机械工程国际学术会议(IVME 2026)

2026年智能汽车与机械工程国际学术会议(IVME 2026)将于2026年2月6-8日在中国青岛隆重召开。会议旨在搭建智能汽车与机械工程领域的国际学术交流平台,汇聚来自全球顶尖专家、学者和工业领军人士,共同探讨智能驾驶、车载智能系统、新…

作者头像 李华
网站建设 2025/12/19 0:09:40

vue和springboot框架开发的攻防靶场实验室平台的设计与实现_xd0oo5dg

文章目录 具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 同行可拿货,招校园代理 vuesprivuespringboot_xd0oo5dg 框架开发的攻防靶场…

作者头像 李华
网站建设 2025/12/19 0:09:37

vue和springboot框架开发的河南特色美食分享系统_73d424e6

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 vuesprivuespringboot_73d424e6 框架开发的河南特色美…

作者头像 李华