-
2020-06-01 17:26:28
A=[1 2 3;4 5 6;7 8 9];
B=dataset({A,‘a’,‘b’,‘c’});
xlswrite(‘thisfile.xls’,A,‘sheetname’)更多相关内容 -
labview数据存为Excel并加表头
2018-08-29 11:00:31实时采集数据保存到Excel中,并加上合适的,自定义的表头 -
vue导出excel并修改表头样式
2021-10-29 10:37:44vue导出excel并修改表头样式(请先阅读readme) 安装npm install 执行npm run serve -
java实现导出Excel多行表头复杂模板
2020-12-20 16:28:13但是对于初学者而言不了解poi的,还需从poi API文档去学习,如果是自学的话更好,如果是公司安排的任务,没有接触过有期限的,就大大的浪费时间了,所以我在这里给一些职场人士第一次接触导出Excel总结的一个简单... -
java导出excel复杂表头
2019-02-20 16:09:50java工程,源代码,可直接运行,需自己改造成web下载方式。 -
Java导出数据到Excel文件中(支持多表头)
2021-08-17 14:36:17支持从数据库中查询到数据,以多级表头形式导入到Excel文件中。比如:一级表头:学号、姓名、各科成绩。二级表头:语文、数学、英语(二级表头在各科成绩下面)。 -
注解反射导出Excel自定义中文表头
2018-12-01 16:31:54注解反射导出Excel自定义中文表头,数据库查出数据,亲测可用 -
Java实现生成Excel树形表头完整代码示例
2020-08-28 15:00:12主要介绍了Java实现生成Excel树形表头完整代码示例,具有一定借鉴价值,需要的朋友可以参考下。 -
labview给Excel数据表格加表头
2015-09-06 15:02:06labview给Excel数据表格加表头 -
java如何生成可变表头的excel
2020-08-29 22:38:32主要为大家详细介绍了java生成可变表头excel的方法,传入一个表头和数据,将数据导入到excel中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
多表头导出Excel
2018-08-28 15:14:37导出Excel表格 /// 导出Excel /// 创建Excel并写入数据 /// List转化为DataTable /// 转换数据类型 -
将EXCEL多行表头的工作表拆分为多个工作表-工具
2017-06-29 07:53:21将EXCEL多行表头的工作表拆分为多个工作表的VBA宏代码 -
NPOI导出Excel(复杂表头)
2015-09-12 08:28:31导出Excel包含的功能: 1.多表头导出最多支持到三行,表头格式说明 相邻父列头之间用'#'分隔,父列头与子列头用空格(' ')分隔,相邻子列头用逗号分隔(',') 两行:序号#分公司#组别#本日成功签约单数 预警,续约,流失,... -
.NET导出Excel(复杂表头)
2015-09-11 16:21:26导出Excel包含的功能: 1.多表头导出最多支持到三行,表头格式说明 相邻父列头之间用'#'分隔,父列头与子列头用空格(' ')分隔,相邻子列头用逗号分隔(',') 两行:序号#分公司#组别#本日成功签约单数 预警,续约,流失,... -
excel导出,只需要传表头 和 对应数据 可以自动生成excel
2019-09-27 14:42:01封装好的共同excel方法,只需要传表头,表里的数据,就会自动生成excel,亲测好用,可以直接用浏览器访问http://localhost:8089/demo/excel/export, 内配置了swagger 但是生成中文excel可能有问题 -
excel表格冻结表头怎么设置
2021-02-05 11:41:07工具2113材料电脑 excel软件1、首先在5261电脑上打开excel表格,如下图所示。2、打开之4102后的页面1653如下。3、如下图所示,接着用鼠标选择需要冻结的部分。4、接着在顶部工具栏中找到“视图”选项,如下图所示,...工具2113材料电脑 excel软件1、首先在5261电脑上打开excel表格,如下图所示。2、打开之4102后的页面1653如下。3、如下图所示,接着用鼠标选择需要冻结的部分。4、接着在顶部工具栏中找到“视图”选项,如下图所示,点击打开。5、接着找到“冻结窗格”选项打开。6、最后在弹出的界面选择“冻结拆分窗格”即可。打开相应的Excl文件选择表头位置执行 视图—冻结 即可:如下图选中要冻结的行或列,执行——窗口——冻结窗格冻结行列选中某个单元格,冻结窗格——冻结的是本单元格上边西线及左边线的交叉区域本回答被提问者和网友采纳选中B2(或其它单元格),视图(或窗口),冻结窗格。03板
设置excel表头不动的方法:
打印标题,这个功能可以打印制定行在打印的每页上面显示。 1、打开EXCEL表格。 2、点选页面布局,打印标题。 3、在工作表选项栏中,顶端标题行,点眩 4、选择冻结行。 5、确定。 6、在打印预览中可以看到,冻结行出现在每页上面显示。
1.打开电脑里的Excel软件,打开表格文件。
EXCEL里的表头固定方法:针对设定表头的行与列,可以选择拆分窗格,拆分完成后,选择冻结空格,则表头即可固定下来; 单元格里添加页码,可以采用分页后的页面设置来进行添加。
2.点击上方的视图选项。
1、首先打开Excel表格,输入一些数据。 2、打开菜单栏中的“视图”-“冻结窗口”,单击确定“冻结首行”,就可以实现表头内容始终可见即可。 3、还有一种方法:设置特定行列始终可见,如要将例子中的第一列“姓名”和第一、二行的文本内容设置为始终可见
3.点击冻结窗格图标。
步骤如下: 点击excel菜单中的视图 2.点击工具栏 3.点击自定义 4.点击命令 5.点窗口和帮助 6.找到冻结拆分窗口,再用鼠标把小图标拖到常用工具栏上即可。 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款
4.选择冻结首行即可设置表头不动。
mac版excel固定表头,可使用“冻结窗格”实现。 方法步骤如下: 1、打开需要操作的EXCEL表格,需那种需要固定的表头下一行首单元格,然后点击视图标签。 2、在视图选项卡中点击“冻结窗格”。 3、选择“冻结拆分单元格”即可。 4、返回EXCEL表格,通过
总结
1.用Excel打开表格文件。
材料/工具:Excel2010 1、首先在我们电脑上新建一个excel并打开。 2、进入表格窗口后,我们点击导航中的“视图”。 3、接着,我们在视图下的选项中找到“冻结窗格”。 4、找到冻结窗格功能后,我们点击它。 5、点击冻结窗格,我们发现表头就冻结了。
2.点击视图。
以WPS 2019版本为例: 关于WPS冻结窗格,您可使用WPS参考下述步骤完成操作: 1、打开表格; 2、点击【视图-冻结窗格】; 例如需要冻结首行和首列,鼠标先定位在B2单元格,再执行上面的步骤,点击【冻结至第一行A列】
3.点击冻结窗格。
用窗口冻结功能。 假设要锁定前三行,那么移动光标到A4——窗口——冻结窗口——确定!
4.选择冻结首行。
并不是冻结的窗格就可以每页都可以打樱可以在页面设置中设置打印标题的。 进入页面设置,如下图: 每页都打印表头的话,可以 点击上图红色框内”顶端标题行“右边的按钮,选择需要每页打印的区域然后确定,此后打印每页纸张都会有该标题行
1、首先在电脑桌面2113,打开自己需要锁5261定表头的excel表格。(如下图)41022、打开excel表格之后,需要1653锁定的是第一行的主标题和第二行的分类标题,那么要锁定之前,需要先把把鼠标点击第三行并停留在第三行,然后再点击左上角的“视图”菜单。(如下图)3、在视图菜单列表下的工具栏中,找到“冻结窗格”工具,并点击下面的下拉图标。(如下图)4、点击下拉图标之后,再弹出来的功能设置中,选择“冻结拆分窗格”设置。(如下图)5、这样以第一行的主标题和第二行的分类标题作为表头已经成功锁定,再往下拉的时候,就算拉到excel表格最下面的行数列,也可以看到上面的表头。(如下图)扩展资料:e
-
使用easy excel导出复杂表头的excel
2021-12-15 10:18:20今天想写一个双层表头的excel导出,一开始使用的是poi来画发现太麻烦, 于是就想到了使用easy-excel的模板填充来实现,将导出写成了一个简单的工具类, 供参考 最终是要实现为这样的一个效果 , 红色为表头,绿色为表体,...使用easy excel导出复杂表头的excel
今天想写一个双层表头的excel导出,一开始使用的是poi来画发现太麻烦, 于是就想到了使用easy-excel的模板填充来实现,将导出写成了一个简单的工具类, 供参考
最终是要实现为这样的一个效果 , 红色为表头,绿色为表体,于是我先做出了一个模板 ,
如果不会写模板的可以去看官方文档, 十分简单https://www.yuque.com/easyexcel/doc/fill
然后将表头数据封装成一个map,表体数据为一个list , 去调用工具类就实现了
以下为工具类代码,导入了easy-excel就可以使用package com.org.inventory.util; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; import org.springframework.core.io.ClassPathResource; import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.List; import java.util.Map; /** * Description: easy excel 工具类 * * @ProjectName: inventory_task * @ProduceName: IntelliJ IDEA * @author: li ji hong * @date: 2021/12/15 9:51 */ public class EasyExcelUtils { private static final String CONTENT_TYPE = "application/vnd.ms-excel"; private static final String CHARACTER_ENCODING = "utf-8"; private static final String HEADER_S1 = "Content-disposition"; private static final String HEADER_S2 = "attachment; filename="; /** * 创建excel * * 此方法为封装简单excel的导出 , * 表头或者日期等信息写在map , * list数据单独传可以实现简单导出 * * @param response 响应 * @param fileName 文件名称 * @param map map * @param list 列表 * @throws IOException ioexception */ public static void createExcel(HttpServletResponse response, String fileName, Map<String, Object> map, List<?> list) throws IOException { // 设置公共头信息 OutputStream out = null; BufferedOutputStream bos = null; response.setContentType(CONTENT_TYPE); response.setCharacterEncoding(CHARACTER_ENCODING); response.setHeader(HEADER_S1, HEADER_S2 + fileName); out = response.getOutputStream(); bos = new BufferedOutputStream(out); // 此处可以修改 为 classpath:/file ClassPathResource cpr = new ClassPathResource("file" + File.separator + fileName); ExcelWriter excelWriter = com.alibaba.excel.EasyExcel.write(bos) .withTemplate(cpr.getInputStream()).excelType(ExcelTypeEnum.XLS).build(); WriteSheet writeSheet = com.alibaba.excel.EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); // 填充 list 数据 excelWriter.fill(list, fillConfig, writeSheet); // 填充 map 数据 excelWriter.fill(map, writeSheet); excelWriter.finish(); bos.flush(); bos.close(); } }
直接调用即可
-
Vue用Export2Excel导出excel,多级表头数据
2021-01-04 23:28:08VUE 使用Export2Excel导出数据,以及多级表头 最近公司做项目,需要导出数据到excel表格 使用到了 element UI ,Export2Excel 特此记录,毕竟好记性不如烂笔头 不包含修改样式(菜鸟一枚,希望大佬指教点名) 直接上...VUE 使用Export2Excel导出数据,以及多级表头
最近公司做项目,需要导出数据到excel表格
使用到了 element UI ,Export2Excel
特此记录,毕竟好记性不如烂笔头
不包含修改样式(菜鸟一枚,希望大佬指教点名)1.安装依赖 ,三个依赖包
npm install -S file-saver npm install -S xlsx npm install -D script-loader
2.创建文件
在项目src 下创建 vendor 文件夹
然后创建 Export2Excel.js 文件Export2Excel.js 文件内容
/* eslint-disable */ import { saveAs } from 'file-saver' import XLSX from 'xlsx' function generateArray(table) { var out = []; var rows = table.querySelectorAll('tr'); var ranges = []; for (var R = 0; R < rows.length; ++R) { var outRow = []; var row = rows[R]; var columns = row.querySelectorAll('td'); for (var C = 0; C < columns.length; ++C) { var cell = columns[C]; var colspan = cell.getAttribute('colspan'); var rowspan = cell.getAttribute('rowspan'); var cellValue = cell.innerText; if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; //Skip ranges ranges.forEach(function (range) { if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); } }); //Handle Row Span if (rowspan || colspan) { rowspan = rowspan || 1; colspan = colspan || 1; ranges.push({ s: { r: R, c: outRow.length }, e: { r: R + rowspan - 1, c: outRow.length + colspan - 1 } }); }; //Handle Value outRow.push(cellValue !== "" ? cellValue : null); //Handle Colspan if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null); } out.push(outRow); } return [out, ranges]; }; function datenum(v, date1904) { if (date1904) v += 1462; var epoch = Date.parse(v); return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); } function sheet_from_array_of_arrays(data, opts) { var ws = {}; var range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } }; for (var R = 0; R != data.length; ++R) { for (var C = 0; C != data[R].length; ++C) { if (range.s.r > R) range.s.r = R; if (range.s.c > C) range.s.c = C; if (range.e.r < R) range.e.r = R; if (range.e.c < C) range.e.c = C; var cell = { v: data[R][C] }; if (cell.v == null) continue; var cell_ref = XLSX.utils.encode_cell({ c: C, r: R }); if (typeof cell.v === 'number') cell.t = 'n'; else if (typeof cell.v === 'boolean') cell.t = 'b'; else if (cell.v instanceof Date) { cell.t = 'n'; cell.z = XLSX.SSF._table[14]; cell.v = datenum(cell.v); } else cell.t = 's'; ws[cell_ref] = cell; } } if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); return ws; } function Workbook() { if (!(this instanceof Workbook)) return new Workbook(); this.SheetNames = []; this.Sheets = {}; } function s2ab(s) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; return buf; } export function export_table_to_excel(id) { var theTable = document.getElementById(id); var oo = generateArray(theTable); var ranges = oo[1]; /* original data */ var data = oo[0]; var ws_name = "SheetJS"; var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); /* add ranges to worksheet */ // ws['!cols'] = ['apple', 'banan']; ws['!merges'] = ranges; /* add worksheet to workbook */ wb.SheetNames.push(ws_name); wb.Sheets[ws_name] = ws; var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' }); saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), "test.xlsx") } export function export_json_to_excel({ multiHeader = [], header, data, filename, merges = [], autoWidth = true, bookType = 'xlsx', } = {}) { /* original data */ filename = filename || 'excel-list' data = [...data] data.unshift(header); for (let i = multiHeader.length - 1; i > -1; i--) { data.unshift(multiHeader[i]) } var ws_name = "SheetJS"; var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); if (merges.length > 0) { if (!ws['!merges']) ws['!merges'] = []; merges.forEach(item => { ws['!merges'].push(XLSX.utils.decode_range(item)) }) } if (autoWidth) { /*设置worksheet每列的最大宽度*/ const colWidth = data.map(row => row.map(val => { /*先判断是否为null/undefined*/ if (val == null) { return { 'wch': 10 }; } /*再判断是否为中文*/ else if (val.toString().charCodeAt(0) > 255) { return { 'wch': val.toString().length * 2 }; } else { return { 'wch': val.toString().length }; } })) /*以第一行为初始值*/ let result = colWidth[0]; for (let i = 1; i < colWidth.length; i++) { for (let j = 0; j < colWidth[i].length; j++) { if (result[j]['wch'] < colWidth[i][j]['wch']) { result[j]['wch'] = colWidth[i][j]['wch']; } } } ws['!cols'] = result; } /* add worksheet to workbook */ wb.SheetNames.push(ws_name); wb.Sheets[ws_name] = ws; /** * 自定义 */ var dataInfo = wb.Sheets[wb.SheetNames[0]]; let arr = [ "A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1", "K1", "L1", "M1", "N1", "O1", "P1", "Q1", "R1", "S1", "T1", "U1", "V1", "W1", "X1", "Y1", "Z1" ]; let style = { font: { color: { rgb: "000000" }, bold: true }, alignment: { horizontal: "center", vertical: "center" } }; for (var i = 0; i < header.length; i++) { dataInfo[arr[i]].s = style; } var wbout = XLSX.write(wb, { bookType: bookType, bookSST: false, type: 'binary' }); saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), `${filename}.${bookType}`); }
补充:
所用到的数据格式tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' }]
3.使用方法(一级表头)
导出单级表头
Html部分:
<el-button @click="handleDownload" class="addButton-class">批量导出</el-button>
js部分:
// 导出数据 handleDownload() { import('@/vendor/Export2Excel').then(excel => { // 表头数据 const header = ['日期', '条形码', '所属区域', '所属部门', '商场名称', '兑奖员工'] // 数据来源中,代替表头的变量 const filterVal = ['create_time', 'bar_code', 'aname', 'dname', 'warehouse_name', 'sell_name'] // 数据来源 const list = this.tableData // 拼接数据 const data = this.formatJson(filterVal, list) excel.export_json_to_excel({ header, data, // 导出表格的文件名字 filename:'销售产品清单', }) }) }, // 拼接数据 formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => { return v[j] })) },
示例效果
3.多级表头
导出多级表头
导出多级表头首先要理解,单元格合并
日期 所占 单元格为 A1:A3
配送信息 所占 单元格为 B1:F1
姓名 所占 单元格为 B2:B3
依次类推
理解这一点,下面代码就好理解了Html部分:
<el-button @click="handleDownload" class="addButton-class">批量导出</el-button>
// 导出单个表头 handleDownload() { import('@/vendor/Export2Excel').then(excel => { const multiHeader = [ ['对账清单','', '', '', '', '','', '', '', '', ''],// 业务需求可删除 ['结算单位:',this.name, '', '', '', '','', '结算日期:', this.brginTime, '至', this.endTime], // 业务需求可删除 ['日期', '上期结存', '', '本期进货', '', '本期退货','', '本期销售', '', '本期库存', ''], ] // 前两行的表头数据,二维数组,不够的用空白补全 const header = ['', '数量', '金额', '数量', '金额', '数量', '金额', '数量', '金额', '数量', '金额'] // 最后一行的表头数据 const filterVal= ['goods_brand', 'cq_count', 'cq_total', 'bqrk_count', 'bqrk_total', 'bqck_count','bqck_total','bqxs_count','bqxs_total','bqkc_count','bqkc_total'] // 这里要注意 header 和 filterVal 的数组长度一定要相等,否则会报错 const list = this.tableData const data = this.formatJson(filterVal, list) const merges = ['A1:K1','A3:A4','B3:C3','D3:E3','F3:G3','H3:I3','J3:K3'] // 合并单元格的数据,如何合并参考上面图片讲解 excel.export_json_to_excel({ multiHeader, header, merges, data, filename:'对账清单', }) }) }, // 拼接数据 formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => { return v[j] })) },
大致就是这样,就是没有居中效果(菜鸟,勿喷)
-
Excel导出多层表头
2012-04-13 17:03:29Excel导出多层表头,Excel导出,Excel单元格合并。 -
Excel导出时不要表头.txt
2019-07-05 16:42:41Excel选中数据进行导出时不需要导出表头。 -
C#导出Excel复杂表头解决方案
2018-01-18 11:27:44使用了一个高手的原有DEMO改造而成,优化了导出复杂表头增加样式过慢的问题。 -
EXCEL导出动态表头
2022-05-15 17:39:21EXCEL导出动态表头 -
复杂多表头excel表格的导出及布局,支持拓展
2022-02-22 13:33:131.用于多种业务的复杂多表头表格 2.可支持任意拓展表头后导出 3.简单易懂 -
Labview“写入测量文件(Excel)”设置表头解决方案(初次试探)
2020-12-22 12:36:40Labview“写入测量文件(Excel)”设置表头解决方案(初次试探) 利用For循环连续读取数据,将数组转换为动态数据,设置单路动态数据的属性,然后合并多路信号(相当于填入Excel某sheet中不同列),然后利用”写入... -
导入excel,处理合并表头、复杂表头、多行表头
2014-02-24 10:33:22asp.net 导入excel时,处理合并表头、复杂表头、多行表头 1.解决复杂表头的Excel导入。可以解决任何复杂的表头。 2.导入时,显示请稍后。。。提醒框,完毕后会自动隐藏 3.全面扫描Excel数据,将所有异常详细信息写入... -
python合并excel 表格 单表头
2021-04-27 10:41:23python 合并excel 表格 单表头 私信提供测试表格和讲解 -
导出excel 多表头-java
2021-06-24 14:20:30首先在导出excel 是通过poi 实现的,但是这里我采用的是阿里巴巴提供的 easyExcel 实现的多表头导出,当然还需要数据列对应类的属性,用属性获取数据并实现数据导出。 第一步:首先需要导入maven 坐标: <... -
excel动态表头
2022-05-30 10:43:08可以在代码里面自定义表头 也可以根据前端传入字段当表头 只需要封装到List<List> headTitles = Lists.newArrayList();即可 @ApiOperation(value = "demo") @PostMapping("/demo") public void excel... -
excel表头的制作 怎样在Excel里面制作表头?
2021-06-13 12:16:04在excel中插入斜线并输入文字内容,如何在excel中绘制斜线表头在excel中插入斜线并输入文字内容,如何在excel中绘制斜线表头呢,制作方法多多。用一个单元格做输入斜线右侧需要的内容,按ALT+ENTER键,再输入斜线... -
Java导出Excel 复杂表头
2021-03-12 17:42:08导出表格的方式在我的理解有两种 一种是直接用代码控制表头==== 简单的表头 一种是直接使用模板直接添加数据就可以=== 复杂的表头 依赖 <dependency> <groupId>org.apache.poi</groupId> <...