开源在线excel展示插件 js excel 在线插件 合并单元格 设置单元格样式 编辑工具

这篇具有很好参考价值的文章主要介绍了开源在线excel展示插件 js excel 在线插件 合并单元格 设置单元格样式 编辑工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 源码:https://github.com/yufb12/dataexcel.git

在线预览地地址 http://www.dataexcel.cn/dataexceljs.html

1、js 版本 es6

 2、绘图引擎 zrender 地址  ZRender 文档 (ecomfe.github.io)

 3、 文件保存格式json 

可编辑表单插件js,.net,mvc,.net excel控件&&js前端excel控件,html,前端

可编辑表单插件js,.net,mvc,.net excel控件&&js前端excel控件,html,前端

4、创建并初始化

        <div id="maingrid" style="position: static; width: 100%; height: 100%;  box-sizing: border-box ">
            <div id="grid" style="position: relative; width: 1200px; height: 600px;  "> </div>
        </div>
    <script type="text/javascript">
        var domgrid = document.getElementById("grid");
        var input = document.getElementById("maininput");
        var grid = new DataExcel();
        grid.Width = domgrid.Width;
        grid.Height = domgrid.Height;
        grid.InitDom(domgrid);
        grid.InitEdit(input);
        grid.Refresh();
        grid.Paint();
        grid.On(Events.FocusedCellChanged, FocusedCellChanged);
        function FocusedCellChanged(args)
        {
            console.log("事件触发测试:" + args);
        }
    </script>

 5、文件 新建保存文章来源地址https://www.toymoban.com/news/detail-580136.html

    <!--File-->
    <script type="text/javascript">
        function New()
        {
            grid.Clear();
            grid.VScroll.Visible = true;
            grid.HScroll.Visible = true;
            grid.Refresh();
            grid.RePaint();
        }
        function Open()
        {
            let inputObj = document.createElement('input')
            inputObj.setAttribute('id', '_ef');
            inputObj.setAttribute('type', 'file');
            inputObj.setAttribute("style", 'visibility:hidden');
            document.body.appendChild(inputObj);
            inputObj.addEventListener("change", fileopen)
            //inputObj. = fileopen()
            inputObj.click();
        }
        function fileopen(e)
        {
            let inputObj = e.target;
            let file = inputObj.files[0];
            console.log(file);
            grid.OpenFile(file);

            document.body.removeChild(inputObj);
            grid.Refresh();
            grid.RePaint();
        }
        function Save()
        {
            //let domfile = document.getElementById("file");
            let content = JSON.stringify(grid.GetData());
            //domfile.innerText = content;
            let fileName = "grid.json";
            let downLink = document.createElement('a')
            downLink.download = fileName
            let blob = new Blob([content], { type: 'text/json' })
            downLink.href = URL.createObjectURL(blob)
            document.body.appendChild(downLink)
            downLink.click()
            document.body.removeChild(downLink)
        }
        function OpenDialogSize()
        {
            //let dialog = document.getElementById("modaldomwidthheight");
            //dialog.modal({
            //    keyboard: false
            //});
            let domwidth = document.getElementById("gridwidth");
            let width = grid.Width;
            let domheight = document.getElementById("gridheight");
            let height = grid.Height;
            domwidth.value = width;
            domheight.value = height;
            $('#modaldomwidthheight').modal({
                keyboard: false
            })
        }
        function SaveGridSize()
        {
            let domwidth = document.getElementById("gridwidth");
            let width = Number(domwidth.value);
            let domheight = document.getElementById("gridheight");
            let height = Number(domheight.value);
            grid.SetSize(width, height);
            grid.Refresh();
            grid.RePaint();
        }
        function Preview()
        {
            let key = (Math.round(Math.random() * 65536)).toString(16) +
                (Math.round(Math.random() * 65536)).toString(16) +
                (Math.round(Math.random() * 65536)).toString(16) +
                (Math.round(Math.random() * 65536)).toString(16) +
                (Math.round(Math.random() * 65536)).toString(16);
            let arg = "?k=" + key + "&zoom=true";
            let content = JSON.stringify(grid.GetData());
            localStorage.setItem(key, content);
            window.open("demo.html" + arg);

        }
        function Scale()
        {
            var zw = 0.7;
            var zh = 0.7;
            document.body.style.transformOrigin = '0 0';
            document.body.style.transform = 'scale(' + zw + ',' + zh + ')';
            document.body.style.width = window.innerWidth / zw + 'px';
            document.body.style.height = window.innerHeight / zh + 'px';
            grid.SetSize(grid.Width, grid.Height);
            grid.Refresh();
            grid.Paint();
        }
        function Restore()
        {
            var zw = 1;
            var zh = 1;
            document.body.style.transformOrigin = '0 0';
            document.body.style.transform = 'scale(' + zw + ',' + zh + ')';
            document.body.style.width = window.innerWidth / zw + 'px';
            document.body.style.height = window.innerHeight / zh + 'px';
            grid.SetSize(grid.Width, grid.Height);
            grid.Refresh();
            grid.Paint();
        }

        function ReadOnly()
        {
            grid.ReadOnly = CheckState.Check;
            grid.Refresh();
            grid.RePaint();
        }
        function UnReadOnly()
        {
            grid.ReadOnly = CheckState.UnCheck;
            grid.Refresh();
            grid.RePaint();
        }
    </script>

到了这里,关于开源在线excel展示插件 js excel 在线插件 合并单元格 设置单元格样式 编辑工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pandas读取excel合并单元格的正确姿势(openpyxl合并单元格拆分并填充内容)

    在pandas读取excel经常会遇到合并单元格的问题。例如: 此时使用pandas读取到的内容为: 如果去百度,几乎所有人会说应该用如下代码: 这样看起来没问题,但是,该解决方案并不能适用于所有场景,甚至会造成数据错误。 例如: 对班级和备注填充后: 孙武空本来是数据缺

    2024年02月03日
    浏览(36)
  • 前端合并单元格插件

    在后台管理系统中,经常有合并单元格的需求。 所以为了提高后续的开发效率,就开发了一款插件插件:@jinming6/merge-helper

    2024年02月21日
    浏览(27)
  • VBA:对Excel单元格进行合并操作

    2024年02月10日
    浏览(34)
  • easypoi 模板导入、导出合并excel单元格功能

    hutool 导出复杂excel(动态合并行和列) java使用poi读取跨行跨列excel springboot集成easypoi并使用其模板导出功能和遇到的坑 Easypoi Excel模板功能简要说明 easypoi 模板导出兼容合并单元格功能 高校校舍使用情况统计表 单位(盖章): 填表人: 部门负责人: 分管校领导: 填表日期:

    2023年04月22日
    浏览(45)
  • java动态生成excel并且需要合并单元格

    java动态生成excel并且需要合并单元格 先上图看一下预期效果 集成poi 通过poi手动制作excel

    2024年02月13日
    浏览(34)
  • C#实现Excel合并单元格数据导入数据集

    目录 功能需求 Excel与DataSet的映射关系 范例运行环境 Excel DCOM 配置 设计实现 组件库引入 ​方法设计 返回值  参数设计 打开数据源并计算Sheets 拆分合并的单元格 创建DataTable 将单元格数据写入DataTable 总结 将Excel里的worksheet表格导入到DataSet里,是项目应用里常用的一种操作。

    2024年02月02日
    浏览(36)
  • Excel 合并单元格筛选时只出现首行

    如果对合并单元格直接筛选,只能筛选出第一个单元格的值 Excel筛选单元格时,遇到不连续区域(即中间有空白单元格)会识别不到后续内容; 合并单元格后, 除首行外, 其余行的值会被自动清空, 从而导致在筛选单元格的时候, 只会显示合并单元格的第一个单元格以及

    2024年02月13日
    浏览(109)
  • Python解析Excel及检测合并单元格的方法

    Python解析扩展名为 .xlsx 的方法: 1. 导入 openpyxl模块 2. 导入Excel表格文件 使用 load_workbook() 方法读取Excel文件,该方法返回一个工作簿对象。 load_workbook()方法只能读取已有的Excel表格文件,无法创建新的Excel表格。 3. 获取Sheet工作表 4. 获取最大行和列 5. 获取单元格的值 以该表

    2024年02月16日
    浏览(40)
  • pandas数据分析40——读取 excel 合并单元格的表头

    案例背景 真的很容易疯....上班的单位的表格都是不同的人做的,所以就会出现各种合并单元格的情况,要知道我们用pandas读取数据最怕合并单元格了,因为没规律...可能前几列没合并,后面几列又合并了....而且pandas对于索引很严格,这种合并单元读取进来就是空的,还怎么

    2024年02月12日
    浏览(50)
  • Java POI导出Excel时,合并单元格没有边框的问题

    今天用POI导出Excel的时候,发现导出的单元格确少边框,最后发现有2个方案可以解决。 CellRangeAddress的4个参数分别表示:起始行号,终止行号, 起始列号,终止列号

    2024年02月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包