js 读取文件数据、导出文本到文件

读取文件数据:

函数:

/**
 *  从文件中获取文本
 *  @param  {Bolb|File} blob      二进制对象
 *  @param  {String}    encoding  编码类型 (默认值: 'utf-8',如 'gb2312', 'big5' 等)
 *  @return {Promise}
 */
function getTextByFile(blob, encoding = 'utf-8') {
  return new Promise((resolve, reject) => {
    const reader = new FileReader()
    reader.onerror = reject
    reader.onload = () => resolve(reader.result)
    reader.readAsText(blob, encoding)
  })
}

示例:

<input id="input" type="file" accept="text/*" onchange="onInput()" />
<textarea id="output"></textarea>
<script>
  function onInput() {
    const input = document.querySelector('#input')
    const output = document.querySelector('#output')
    getTextByFile(input.files[0], 'gb2312').then(res => output.value = res)
  }
</script>

导出文本到文件:

函数:

/**
 *  导出文本
 *  @param  {String|Bolb} data        输出内容或二进制对象
 *  @param  {String}      [fileName]  文件名称 (默认值为时间戳)
 */
function exportText(data, fileName) {
  const blob = data instanceof Blob ? data : new Blob([data])
  const link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
  link.href = (window.URL || window.webkitURL).createObjectURL(blob)
  link.download = fileName || new Date().valueOf() + '.txt'
  link.dispatchEvent(new MouseEvent('click'))
}

示例:

var text = 'This is demo text.'
exportText(text, 'demo.txt')
<textarea id="input"></textarea>
<button id="output" onclick="onOutput()">Output</button>
<script>
  function onOutput() {
    const input = document.querySelector('#input')
    exportText(input.value, 'demo.txt')
  }
</script>
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用JavaScript读取CSV文件,可以使用HTML5的FileReader对象。首先,需要在HTML中添加一个input\[type="file"\]元素,用于选择要上传的CSV文件。例如: <input id="upload_input" type="file" accept=".csv" onchange="onUpload(this)" /> 然后,在JavaScript中定义一个onUpload函数,该函数会在选择文件后触发。在该函数中,可以使用FileReader对象来读取CSV文件的内容。以下是一个示例代码: function onUpload(input) { var file = input.files\[0\]; var reader = new FileReader(); reader.onload = function(e) { var content = e.target.result; // 在这里可以对读取到的CSV文件内容进行处理 console.log(content); }; reader.readAsText(file); } 在上述代码中,通过input.files\[0\]获取到选择的文件对象,然后创建一个FileReader对象。通过调用FileReader对象的readAsText方法,并传入文件对象,可以将文件内容读取为文本。在读取完成后,可以通过reader.onload事件获取到读取到的CSV文件内容,可以在该事件处理函数中对内容进行进一步处理。在示例代码中,我使用console.log输出了读取到的内容。 请注意,上述代码只是一个简单的示例,你可以根据自己的需求对读取到的CSV文件内容进行进一步处理。 #### 引用[.reference_title] - *1* *2* *3* [js 读取CSV文件&导出CSV文件](https://blog.csdn.net/zjl1991309/article/details/95078716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值