js上传xlsl读取表格里的数据

这篇博客展示了如何使用XLSX库在Vue应用中读取和解析Excel文件。通过`el-upload`组件实现文件上传,然后通过`file2Xce`方法将文件转换为JSON数据。当文件格式不正确时,会提示用户重新选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.npm install xlsx --save-dev

2.

<div class="btn">
      <el-upload
        ref="upload"
        action="/"
        :show-file-list="false"
        :on-change="importExcel"
        :auto-upload="false">
        <el-button
          slot="trigger"
          icon="el-icon-upload"
          size="small"
          type="primary">
          上传文件
        </el-button>
      </el-upload>
    </div>

3.

<script>
import XLSX from 'xlsx'
export default {
  name: 'HelloWorld',
  data () {
    return {
      wb: '',
      xlsxJson: '',
     
    }
  },
  mounted() {
  },
  methods: {
    importExcel(file) {
      // let file = file.files[0] // 使用传统的input方法需要加上这一步
      const types = file.name.split('.')[1]
      const fileType = ['xlsx', 'xlc', 'xlm', 'xls', 'xlt', 'xlw', 'csv'].some(item => item === types)
      if (!fileType) {
        this.$message('格式错误!请重新选择')
        return
      }
      this.file2Xce(file).then(tabJson => {
        if (tabJson && tabJson.length > 0) {
          this.xlsxJson = tabJson
          console.log('数据', this.xlsxJson)
        
     
        }
      })
    },
    file2Xce(file) {
      return new Promise(function(resolve, reject) {
        const reader = new FileReader()
        reader.onload = function(e) {
          const data = e.target.result
          this.wb = XLSX.read(data, {
            type: 'binary'
          })
          const result = []
          this.wb.SheetNames.forEach((sheetName) => {
            result.push({
              sheetName: sheetName,
              sheet: XLSX.utils.sheet_to_json(this.wb.Sheets[sheetName])
            })
          })
          resolve(result)
        }
        reader.readAsBinaryString(file.raw)
        // reader.readAsBinaryString(file) // 传统input方法
      })
    }
  
  },
}
</script>

要从Excel工作簿中的XLSX或XLXS(Excel 2016及以后版本)文件读取数据并使用MATLAB,你需要使用`xlsread`或更现代的`readtable`函数。这里有一个简单的步骤: 1. **安装`Microsoft Excel`**:确保你的计算机上安装了Microsoft Excel,因为MATLAB需要它的XML SDK来解析XLSX文件。 2. **加载数据**: - 如果你是使用`xlsread`,这是基本语法: ```matlab data = xlsread('your_file.xlsx'); ``` - `xlsread`返回一个结构数组,每一列对应一个字段名。如果你想要直接读取某个特定的工作,请指定工作名称,例如: ```matlab sheet_data = xlsread('your_file.xlsx', 'Sheet1'); % 取代'Sheet1'为实际的工作名 ``` 3. **使用`readtable`**(推荐,对于更大的数据集性能更好): ```matlab dataTable = readtable('your_file.xlsx'); ``` 这样`dataTable`就是一个格型的数据结构,可以直接像数据库查询那样操作。 4. **处理缺失值**: 如果你发现有缺失值(如空单元格),可以检查它们: ```matlab isMissing =.isnan(dataTable{:,:}); ``` 5. **访问数据**: 对于数值矩阵、字符串或其他数据类型,你可以按照行和列索引获取数据: ```matlab value = dataTable.Cell(i, j); % i 是行,j 是列 ``` 6. **保存数据到新工作**: 使用`writetable`或`xlswrite`可以把数据写回新的或现有的Excel文件: ```matlab writetable(dataTable, 'new_file.xlsx'); % 或 xlswrite('new_file.xlsx', dataTable); ``` **相关问题**: 1. 如何判断Excel文件是否包含缺失值? 2. 如何根据特定条件过滤`readtable`结果? 3. 如何将MATLAB数据添加到现有XLSX工作簿的不同位置? 4. `xlsread`和`readtable`在处理大文件时有什么不同?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值