返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js导出Excel表格超出26位英文字符怎么办
  • 527
分享到

js导出Excel表格超出26位英文字符怎么办

2024-04-02 19:04:59 527人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关js导出excel表格超出26位英文字符怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个需要对Excel表格的表头编码规则有所了解,目

这篇文章将为大家详细讲解有关js导出excel表格超出26位英文字符怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

这个需要对Excel表格的表头编码规则有所了解,目前示例代码只扩展到52个字段


 info : function(path){
  return _info(path)
 },
 
 fORMate_info : function (path) {
  return info_formate_info(path).formate
 },
 info_formate_info : function (path) {
  return info_formate_info(path)
 }

}

var _info = function(path) {
 var k = XLSX.readFile(path, {type: 'base64'});
 var result = {}
 k.SheetNames.forEach(function(sheetName) {
  var worksheet = k.Sheets[sheetName];
  result[sheetName] = XLSX.utils.sheet_to_JSON(worksheet);
 });
 return result
}

var info_formate_info = function(path){
 var info = _info(path)
 var result = {}
 for(var value in info){
  result[value] = {}
 }
 for(var key_info in info ){
  var array = info[key_info]
  if(array_utils.isArray(array) || array.length>0){
   var keys_array = Object.keys(array[0])
   var obj = {}
   for(var value of keys_array){
    obj[value] = []
   }
   for( var key in obj ){
    var subject_clone = JSON.parse(JSON.stringify(array))
    subject_clone.filter( (v)=>{
     for(var k in v){
      if(k!=key){
       delete v[k]
      }
     }
     return v;
    })
    var subject_key_value = Array.from(array_utils.arrayQC(subject_clone),v => v[key] )
    var obA = []
    for(var v of subject_key_value){
     var obk = {
      id : null,
      v : v
     }
     for(var ke in keys_array){
      var thisIndex = keys_array.findIndex(x=>x==keys_array[ke])
      var currentIndex = keys_array.findIndex(x=>x==key)
      if( thisIndex < currentIndex){
       try {
        var thisObj = array.find(x=>x[ key ] == v )
        obk[keys_array[ke]] = thisObj[ keys_array[ke] ]
       }catch (e){
        console.error(e)
       }
      }
     }

     obA.push(obk)
    }
    obj[key] = obA
   }
   result[key_info]= obj
  }
 }
 return {
  info : info,
  formate : result
 }
}

var _writeExcel = function (headers,data,file,callback) {
 var _headers = headers
 var _data = data;
 var headers = _headers
 // 为 _headers 添加对应的单元格位置
  .map((v, i) => Object.assign({}, {
   v: v,
   position:num(i)+1
  }))
  // 转换成 worksheet 需要的结构
  .reduce((prev, next) => Object.assign({}, prev, {[next.position]: {v: next.v}}), {});
 var data = _data
  .map((v, i) => _headers.map((k, j) => Object.assign({}, {
   v: v[k],
   position:num(j) + (i+2)
  })))
  // 对刚才的结果进行降维处理(二维数组变成一维数组)
  .reduce((prev, next) => prev.concat(next))
  // 转换成 worksheet 需要的结构
  .reduce((prev, next) => Object.assign({}, prev, {[next.position]: {v: next.v}}), {});
// 合并 headers 和 data
 // console.log("测试data",data)
 var output = Object.assign({}, headers, data);
// 获取所有单元格的位置
 var outputPos = Object.keys(output);
// 计算出范围
 var ref = outputPos[0] + ':' + outputPos[outputPos.length - 1];
// 构建 workbook 对象
 var wb = {
  SheetNames: ['Sheet1'],
  Sheets: {
   'Sheet1': Object.assign({}, output, { '!ref': ref })
  }
 };

 // 导出 Excel
 XLSX.writeFileAsync( file , wb,function (err) {
  callback(err)
 });
}
//定位Excel位置
var num=function(i){
 var n=parseInt(i+65)
 if(n>90){
  n=String.fromCharCode(65)+String.fromCharCode(i+39)
  return n
 }else {
  n=String.fromCharCode(n)
  return n
 }

}

关于“js导出Excel表格超出26位英文字符怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: js导出Excel表格超出26位英文字符怎么办

本文链接: https://lsjlt.com/news/73488.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js导出Excel表格超出26位英文字符怎么办
    这篇文章将为大家详细讲解有关js导出Excel表格超出26位英文字符怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这个需要对Excel表格的表头编码规则有所了解,目...
    99+
    2024-04-02
  • PHPSpreadsheet导出Excel超过26列怎么办
    小编给大家分享一下PHPSpreadsheet导出Excel超过26列怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!excel 行列表示方式xexcel 的列的表示规则从 A,B,C 一直到 Z,当超过 26 个字母...
    99+
    2023-06-26
  • 怎么用vue导出excel表格
    这篇文章主要介绍了怎么用vue导出excel表格的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue导出excel表格文章都会有所收获,下面我们一起来看看吧。一、安装vue-json-excelnpm&n...
    99+
    2023-06-30
  • vue怎么实现excel表格的导入导出
    这篇文章主要介绍“vue怎么实现excel表格的导入导出”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现excel表格的导入导出”文章能帮助大家解决问题。一、下载xlsx插件npm&nb...
    99+
    2023-07-06
  • php超出字符长度怎么办
    本文操作环境:Windows7系统、PHP7.1、Dell G3。php超出字符长度怎么办?php显示指定长度的字符串,超出长度以省略号(...)填补尾部显示 function cutSubstr($str,$len=30){ ...
    99+
    2020-04-26
    php 字符
  • JS怎么实现导出Excel和CSV文件
    这篇文章主要介绍了JS怎么实现导出Excel和CSV文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS怎么实现导出Excel和CSV文件文章都会有所收获,下面我们一起来看看吧。一、js导出Excel<...
    99+
    2023-06-30
  • Vue中怎么用JS输出Excel表格内容
    今天小编给大家分享一下Vue中怎么用JS输出Excel表格内容的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。问题:在vue项...
    99+
    2023-06-27
  • 利用java怎么从数据库中导出Excel表格
    这期内容当中小编将会给大家带来有关利用java怎么从数据库中导出Excel表格,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。基于maven jar包引入如下:  <dependency> ...
    99+
    2023-05-31
    java ava excel
  • php怎么导出数据库的数据并转为excel表格
    在网站开发和数据处理中,数据库扮演着非常重要的角色,如何正确地导出数据库数据并转换为Excel表格则是我们常常需要解决的问题。在本文中,我们将介绍如何使用PHP语言轻松地实现这一操作。一、准备工作在开始我们的操作之前,需要安装PHP环境和P...
    99+
    2023-05-14
    php 数据库
  • js怎么计算给定字符的全部出现位置
    本篇内容主要讲解“js怎么计算给定字符的全部出现位置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js怎么计算给定字符的全部出现位置”吧!我们在之前的文章中了解...
    99+
    2024-04-02
  • Java中怎么操作Jxl实现导出数据生成Excel表格数据文件
    这篇文章主要讲解了“Java中怎么操作Jxl实现导出数据生成Excel表格数据文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中怎么操作Jxl实现...
    99+
    2024-04-02
  • mysql5数据库导出的字符集中文乱码怎么解决
    本篇内容主要讲解“mysql5数据库导出的字符集中文乱码怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql5数据库导出的字符集中文乱码怎么解决”吧...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作