js导出excel增加表头、mso-number-format定义数据格式

问题1:增加表头  

  js导出表格时,只会导出table里的展现出的内容,如需增加表头等内容需要在页面获取的字符串中拼接表头的相关字符串,详细介绍如下:

  

tableString:新增的表头内容字符串;

ctx.table: 新增的表头+页面获取的table字符串。

这样,表头就加上了,还可以通过style设置它的样式:

  

问题2:mso-number-format定义数据格式 

  在做项目时遇到mso-number-format定义的科学计数法转化格式与金额定义的向右对齐样式有冲突。

   之前有写过篇博客专门记述mso-number-format定义科学计数法转化格式。当使用这种方法导出文件时,有时会遇到一个问题,就是导出的Excel经常会把我们的数据自动识别为其他格式,例如只有纯数字的字段在导出到 Excel后会被自动识别为数字格式,而一旦数字超过11位,Excel便会将其以科学计数法的形式来显示,比如身份证号码,带区号的电话号码等。

  mso-number-format的属性设置书写如下:

<td style=‘mso-number-format:\"\@\";‘ class=‘tdRight‘>

 class=‘tdRight‘ 是设置右对齐样式,这样就有冲突,class定义的样式不起作用。要想避免冲突,正确的写法是:

<td style=‘mso-number-format:\"\@\"; text-align:right;‘ class=‘tdRight‘>"

  只需要把样式都写在style里即可,是不是简单的让人抓狂。

  注意:class=‘tdRight‘ 不可以去掉,因为此处的td是通过append到页面的,页面的样式还需要class来定义向右对齐。

补充:

  当table页面中有个别不想被打印出来的,只需要将这个元素隐藏起来即可,但有些按钮、复选框向下图这样,即使隐藏也还会显示:

打印出来是酱紫:

  办法就是将复选框等remove掉,在打印之后页面再重新加载数据渲染复选框等,可能性能方面存在问题,暂时先这样解决,以后有更好的方法再更新。

下面把mso-number-format

时间: 2024-10-06 17:34:24

js导出excel增加表头、mso-number-format定义数据格式的相关文章

js导出excel

function inportEx() { $("#btnEx").text("导出中..."); var fugNumber = "";//第几次随访 var fugid = "";//随访组Id var fudid = "";//医生id var zTree = $.fn.zTree.getZTreeObj("tree"); var nodes = zTree.getSelected

【每日一点】1. Java如何实现导出Excel单表头或多表头

一.背景 在后台项目中,经常会遇到将呈现的内容导出到Excel的需求,通过都是导出单个表头的Excel文件,如果存在级联关系的情况下,也就需要导出多表头的场景.今天这篇文章就是分享导出Excel单表头或多表头的实现,目前实现方案仅支持2行表头场景.如有更复杂的3行表头.4行表头复杂需求可以自行实现. 二.实现思路 1. 借助POI包实现表头的写入.每个表头其实就是一行,如果是多个表头,无非就是将写多行表头,然后将需要合并的表头进行合并,借助POI的函数为addMergedRegion. 2. 将

浏览器端JS导出EXCEL

很多表格业务需要将表格数据导出为Excel,通常使用后台语言java或者php实现数据查询组织Excel文件,提供下载.如果使用客户端JS导出Excel的话,可以减轻服务器端的运算压力,并且能够快速响应. 早期浏览器端导出excel都是借助IE的ActiveX,需要调整浏览器的安全级别,且只能再IE浏览器下使用.我们需要一种跨平台的解决方案. 而Flash具有强大的客户端处理能力,其FileReference类可以从浏览器向本地存储数据.随着Html5的发展,File API也支持浏览器读写本地

CefSharp中实现Chrome中jS导出Excel

[前言] 在博客园闲逛了一年多,平时都是借鉴别人的成功经验,总觉得自己应该分享点什么,但是苦于自己技术有限,平时又不爱写东西,所以一直没有写过任何东西.毕业一年多,在现实工作中遇到各种问题,深切体会到遇到问题时的焦急与纠结.今天决定写自己的第一篇现实中遇到的问题.希望能够为遇到类似问题的博友们提供一些帮助.文章可能写的不好,请勿喷!! [背景] 使用JS将<table>数据以Excel形式已经不是新鲜事情,在IE中常常使用ActiveXObject来创建Excel.application对象来

js导出excel:前端当前数据的导出

网上找的库文件,同样做了修改.在导出的时候,有时候数据第一列和最后一列可能是复选框和操作按钮,这个是我们不需要的,加了这个的过滤 //table2excel.js /* * jQuery table2excel - v1.1.1 * jQuery plugin to export an .xls file in browser from an HTML table * https://github.com/rainabba/jquery-table2excel * * Made by raina

chrome浏览器js 导出excel

1 <table id="table"> 2 <tr> 3 <th>ID</th> 4 <th>姓名</th> 5 <th>年龄</th> 6 <th>职业</th> 7 <th>地区</th> 8 <th>邮箱</th> 9 </tr> 10 <tr> 11 <td>1</td

js 导出Excel

最近从Silverlight这边转到javascript过来,现在要导出一个导出excel的功能.上级领导指示当页显示多少数据,就导出多少数据,没有必要从后台在去数据.以前也没有接触过这方面的,在网上一整狂查资料,最终决定采用excel2003xml+flash插件实现改功能. 获取excel2003xml格式 在桌面新建一个excel文件,另存为2003xml格式,用Vs2012打开该文件,就能清晰的明白数据保存方式. javascript构造xml数据 了解数据结构后,我们已经知道了exce

Java导出Excel三表头

1.问题背景 Java导出Excel表格时,表头出现了三个,即多表头Excel 2.实现源码 /** * * @Project:Report * @Title:ThreeHead.java * @Package:com.you.excel * @Description: * @Author:YouHaiDong * @Date:2015年11月4日 下午3:10:12 * @Version: */ package com.you.excel; import java.io.FileOutputS

XLSX.js 导出Excel demo

GitHub:https://github.com/SheetJS/js-xlsx 一个js操作Excel的工具,如下代码,很方便的就将json数据导出为Excel文件. 使用示例: //json 数据 var data = [{ "a": 1, "x": 2, "b": 3, "y": 4, "success":true }, { "a": 1, "x": 2, &