news 2026/4/29 21:17:44

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 10:08:03

KindEditor导入pdf文件识别图表生成代码片段

当Word一键粘贴遇上680元预算:一个前端程序员的奇幻漂流 各位同行好,我是北京某不知名前端码农老王(头发比Vue2升Vue3的迁移成本还高的那种)。最近接了个CMS企业官网项目,客户要求在KindEditor里实现Office全家桶导入…

作者头像 李华
网站建设 2026/4/29 11:50:47

vue和springboot框架开发的二手旧物回收商城系统的设计与实现_h4v63f89

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

作者头像 李华
网站建设 2026/4/23 12:09:42

JavaScript如何利用JQuery实现大文件上传的日志记录?

大文件传输解决方案建议书 一、需求分析与技术挑战 作为福建IT行业软件公司项目负责人,针对贵司提出的大文件传输需求,我进行了全面分析,发现以下几个核心挑战: 超大文件传输稳定性:单文件100G的传输及断点续传文件…

作者头像 李华
网站建设 2026/4/21 23:33:24

多策略混合改进麻雀搜索算法:探索优化新境界

多策略混合改进改进麻雀搜索算法 下面性能图展现了23种的其中8个测试函数,23个标准测试函数全部都有 改进点:附带参考文献来源 1、sin混沌映射进行种群初始化 2、采用动态自适应权重优化发现者位置。 3、柯西变异 发挥柯西算子的扰动能力,提高…

作者头像 李华
网站建设 2026/4/27 6:04:22

智慧农业智能水肥灌溉控制系统——精准种植与绿色生产解决方案

一、方案背景在农业现代化转型进程中,传统灌溉施肥模式面临水资源浪费(利用率不足 50%)、化肥过量施用(利用率仅 30%-40%)、人工成本高企、作物品质不均等突出问题,同时引发土壤板结、水体污染等生态隐患。本智能水肥灌溉控制系统融合物联网、大数据、精…

作者头像 李华
网站建设 2026/4/27 10:05:57

【攻防世界】reverse | hackme 详细题解 WP

【攻防世界】reverse | hackme 详细题解 WP 下载附件sub_400F8E函数伪代码: __int64 __fastcall sub_400F8E(__int64 a1, int a2, int a3, int a4, int a5, int a6) {int v6; // edxint v7; // ecxint v8; // r8dint v9; // r9dint v10; // ecxint v11; // r8dint v…

作者头像 李华