HarmonyOS 鸿蒙Next中类似csv的文件如何导入

HarmonyOS 鸿蒙Next中类似csv的文件如何导入 比如csv、xls、xlsx这种的

3 回复

可以试试第三方库 [@archermind/exceljs](https://ohpm.openharmony.cn/#/cn/detail/@archermind%2Fexceljs)

更多关于HarmonyOS 鸿蒙Next中类似csv的文件如何导入的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中导入类CSV文件,可使用@ohos.fileio@ohos.util模块。步骤如下:

  1. 使用fileio.openSync()以只读模式打开文件
  2. 通过fileio.readSync()读取文件内容
  3. 使用util.parseCSV()解析CSV数据(需确认API具体命名)
  4. 处理解析后的二维数组数据

示例核心代码:

let file = fileio.openSync(path, 0o100);
let content = fileio.readSync(file);
let data = util.parseCSV(content); // 二维数组形式

在HarmonyOS Next中导入CSV/Excel文件可以通过以下方式实现:

  1. 使用文件选择器获取文件:
import picker from '@ohos.file.picker';

async function selectFile() {
  const documentPicker = new picker.DocumentViewPicker();
  const result = await documentPicker.select();
  const uri = result[0];
  // 处理uri获取文件内容
}
  1. 读取文件内容:
import fs from '@ohos.file.fs';

async function readFile(uri) {
  const file = await fs.open(uri, fs.OpenMode.READ_ONLY);
  const content = await fs.readText(file.fd);
  await fs.close(file.fd);
  return content;
}
  1. 解析CSV数据:
function parseCSV(text) {
  const lines = text.split('\n');
  return lines.map(line => line.split(','));
}
  1. 对于Excel文件(xls/xlsx),可以使用第三方库如SheetJS:
// 需要先安装xlsx模块
import xlsx from 'xlsx';

function parseExcel(arrayBuffer) {
  const workbook = xlsx.read(arrayBuffer, {type: 'array'});
  return xlsx.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]);
}
  1. 完整示例流程:
  • 用户选择文件
  • 根据文件类型调用对应解析方法
  • 处理解析后的数据

注意:处理Excel文件需要额外引入第三方库,建议通过ohpm安装。

回到顶部