整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

让你的Excel数据登录web,快来看看哦!

让你的Excel数据登录web,快来看看哦!

在实际操作的过程中,我们有时需要快速修改单元格内容的次序,具体操作方法为:首先用鼠标选定单元格,同时按下键盘上的Shift键,接着移动鼠标指针到单元格边缘,直至出现拖放指针箭头,然后进行拖放操作。上下拖拉时鼠标在单元格间边界处会变成一个水平“工”状标志,左右拖拉时会变成垂直“工”状标志,释放鼠标按钮完成操作后,单元格间的次序即发生了变化。

网页上表格形式的信息可以直接从浏览器上复制到Excel中,而且效果极佳。在Excel中,你可以像使用Excel工作表那样打开Html文件,并获得同样的功能、格式及编辑状态。

Excel的重要功能之一就是能快速方便地将工作表数据生成柱状、圆饼、折线等分析图形。要想在Web发布这类以及用于报表装饰示意类图形,首先单击“工具→选项”命令,在“常规”中选择“Web选项”,选择是否采用便携网络图形格式(PNG)存储文件,以加快下载速度和减少磁存储空间,但要注意这一格式图形文件将要求浏览器支持,并非对所有浏览器都合适。如果未选择PNG图形格式, Excel会自动选择并转换为GIF、JPG格式文件,并创建名为“文件名files”的子文件夹来保存转换过的图形。例如,如果文件名为“dog.htm”,则Excel将创建名为“dog/files”的子文件夹。Excel也会支持文件指定文件名,例如“image01.jpg”和“image02.jpg等。若在Web发布时选中图表的“选择交互”选项框,则生成的Web页面将保留Excel的图形与表格数据互动的功能,即页面中显示数据表格和对应分析图形,用户如果改变表格中的数据,则对应图形随之发生改变。但要注意的是,这一交互并不能刷新存放在服务器端的数据表数据,如果你需要刷新或修改服务器端的数据,则须利用VB等编制脚本程序。

最后一个是不是好高级的样子,其实也不太难,回归线会教大家处理一些看似难又实用的技巧哦,大家快来一起学习吧!

exceljs是一个读取,操作和编写电子表格数据和样式到XLSX和JSON,从Excel电子表格文件逆向工程设计的项目。之所以称它最强,是因为它的功能强大,简直就是专门为Excel打造的前端处理插件,到目前为止,笔者还尚未见过比这个更强大的前端插件,由于其强悍的前端处理能力,这就意味着有很多操作将减轻服务器端压力,而且性能更加出色!







Github地址

https://github.com/exceljs/exceljs

安装

安装我们当然是首选npm

npm install exceljs

创建工作簿

var workbook=new Excel.Workbook();

设置工作簿属性

workbook.creator='Me';
workbook.lastModifiedBy='Her';
workbook.created=new Date(1985, 8, 30);
workbook.modified=new Date();
workbook.lastPrinted=new Date(2016, 9, 27);
// 将工作簿日期设置为1904日期系统
workbook.properties.date1904=true;

工作簿视图

“工作簿”视图控制Excel在查看工作簿时打开多少个单独的窗口。

workbook.views=[
  {
    x: 0, y: 0, width: 10000, height: 20000,
    firstSheet: 0, activeTab: 1, visibility: 'visible'
  }
]

添加工作表

var sheet=workbook.addWorksheet('My Sheet');

用addWorksheet函数的第二个参数设置工作表的选项。

  • 例如:
// 创建一个红色标签颜色的工作表
var sheet=workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});

// 创建一个隐藏网格线的工作表
var sheet=workbook.addWorksheet('My Sheet', {properties: {showGridLines: false}});

// 创建一个第一行和列冻结的工作表
var sheet=workbook.addWorksheet('My Sheet', {views:[{xSplit: 1, ySplit:1}]});

删除工作表

使用工作表id从工作簿中删除工作表。

  • 例如:
// 创建工作表
var sheet=workbook.addWorksheet('My Sheet');

// 使用工作表ID删除工作表
workbook.removeWorksheet(sheet.id)

访问工作表

// 迭代所有sheet
// 注意:workbook.worksheets.forEach仍然可以工作,但这个方式更好
workbook.eachSheet(function(worksheet, sheetId) {
  // ...
});

// 按名称获取表格
var worksheet=workbook.getWorksheet('My Sheet');

// 按ID获取表格
var worksheet=workbook.getWorksheet(1);

。。。。。。以上只是部分文档中的介绍,感兴趣的小伙伴可以移步Github直接查看详细的文档,完整功能了解可参考下一个标题

PS:提供了中文文档

完整功能列表

  • 创建工作簿
  • 设置工作簿属性
  • 工作簿视图
  • 添加工作表
  • 删除工作表
  • 访问工作表
  • 工作表状态
  • 工作表属性
  • 页面设置
  • 页眉和页脚
  • 工作表视图
    1. 冻结视图
    2. 拆分视图
  • Auto Filters
  • 处理单个单元格
  • 合并单元格
  • 定义名称
  • 数据验证
  • 样式
    1. 数字格式
    2. 字体
    3. 对准
    4. 边框
    5. 填充
    6. 富文本
  • 大纲级别
  • 图片
  • 文件 I/O
  • XLSX:读 XLSX写 XLSX
  • CSV:读 CSV写 CSV
  • Streaming I/O:Streaming XLSX
  • 浏览器
  • 价类型
    1. 空值
    2. 合并单元格
    3. 数值
    4. 字符串值
    5. 日期值
    6. 超链接值
    7. 公式值
    8. 丰富的文本值
    9. 布尔值
    10. 错误值

    虽然以上功能还不能包括了Excel的所有功能,但也已经相当的丰富了!

    总结

    在之前的文章中曾介绍过另一个不错的前端Excel插件,感兴趣的可以去看一看,exceljs拥有这么丰富的功能,如果你想开发一个功能强大的Web电子表格,不妨多尝试尝试!

    果图:

    实现代码:

    from flask import Flask

    import pandas as pd

    from flask import request


    app=Flask(__name__)#创建对象

    @app.route("/sd",methods=["GET","POST"])#设置路由,实现url方法

    def sd():#业务逻辑

    df=pd.read_excel("F:\数据\Excel\数据源.xlsx",sheet_name="lie1")#读取指定工作簿中指定表的数据


    sale_date=pd.DataFrame()

    customer_name=request.form.get("customer_name","")

    #Request.Form.Get("from"):取得表单中name为from的控件的值.
    #如果from为text(客户端) 的name属性值.则Request.Form.Get("from")为其value;
    #如果from为select(客户端)的name,则Request.Form.Get("from")为select所选则的值(value)

    if customer_name:

    sale_date=df.query(f"顾客姓名=='{customer_name}'")

    return f"""

    <html><body style="text-align:center">

    <h1>查询顾客数据</h1>

    <form action="/sd" method="post">#

    顾客姓名:

    <input type="text" name="customer_name" value="{customer_name}">

    <input type="submit" name="submit" value="查询">

    </form>

    <center>%s</center>

    </body></html>

    """%sale_date.to_html(index=False)#%s 中的s替换为sale_date数据,sale_date.to_html:pandas可将读取的Excel数据直接转化为网页显示形式

    #f---包裹变量比如name=‘小明’, print(f'hello {name}') --结果:hello 小明


    app.run -()

    备注:

    customer_name=request.form.get("customer_name",""):


    customer_name=request.form.get("customer_name")




    访问地址:

    需加@app.route("/sd",methods=["GET","POST"])




    %s 字符串 (采用str()的显示)

    %r 字符串 (采用repr()的显示)

    %c 单个字符

    %b 二进制整数

    %d 十进制整数

    %i 十进制整数

    %o 八进制整数

    %x 十六进制整数

    %e 指数 (基底写为e)

    %E 指数 (基底写为E)

    %f 浮点数

    %F 浮点数,与上相同%g 指数(e)或浮点数 (根据显示长度)

    %G 指数(E)或浮点数 (根据显示长度)

    %% 字符"%"