先安装 xlsx.js, 然后引入

import XLSX from 'xlsx';

代码

 <form>
<span>
<textarea name="content" v-model="content" placeholder="please fill in the sentence"></textarea>
</span>
<span class="upimg"><img :src="img"><input type="file" class="file" name="file" @change="getFile($event)"></span>
<button @click="submitForm($event)">submit</button>
</form>
 import XLSX from 'xlsx';
export default{
name: 'ssadd',
data(){
return {
content: '',
file: '',
img: '../src/assets/images/Upload-picture.png'
}
},
methods: {
//导入excel获取到内容
getFile(event){
//wb 存储读取完成的数据
//jsondata 存储获取excel json数据
var wb,jsondata,that=this;
var f = event.target.files[];
var reader = new FileReader();
reader.onload = function(e){
var data = e.target.result;
wb = XLSX.read(data, {type: "binary"});
jsondata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[]]);
// 将获取到的数据逐条连接入that.content中
for(var i=;i<jsondata.length;i++){
if(that.content==""){
that.content = jsondata[i].sentence;
}else{
that.content += ("<br/>" + jsondata[i].sentence);
} }
console.log(that.content);
}
reader.readAsBinaryString(f);
},
submitForm(event){
event.preventDefault(); let params = new URLSearchParams(); params.append('content', this.content); this.axios.post('url', params).then((ret)=>{
if(ret.status === ){
console.log(ret);
this.$router.push(ret.data.requireUrl);
}
})
}
},
mounted(){ }

后端接收并添加到数据库

代码

 <?php
require '../config/config.php';
$conn = Connect(); $patterns = array('\'', '"');
$replacements = array('&apos', '&quot'); $data = str_replace($patterns, $replacements, $_POST['content']);
$arr = explode("<br/>", $data); $sql = "INSERT INTO ssentence (content) VALUES (?)"; $stmt = mysqli_stmt_init($conn); if(mysqli_stmt_prepare($stmt, $sql)){
mysqli_stmt_bind_param($stmt, 's', $content);
// 注 此处's'如只给一个字段插入就只写一个s,插入几个字段的数据就写几个 for($i=;$i<count($arr);$i++){
$content = $arr[$i];
mysqli_stmt_execute($stmt);
} $arr=[
"status"=>,
"message"=>"add data success",
"requireUrl"=>"/sslist"
];
echo json_encode($arr);
}else{
echo "创建数据表错误:" . $conn->error;
} $conn->close();
?>

vue项目导入excel单列导入的更多相关文章

  1. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题

    基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...

  2. vue项目导出EXCEL功能

    因为一些原因导出EXCEL功能必须前端来做,所以就研究了一下,在网上也找了一些文章来看,有一些不完整,我做完了就记录下来,供大家参考: 1.首先先安装依赖: npm install file-save ...

  3. Vue项目实现excel导出

    1.package.json里面安装三个插件 npm install  xlsx  --save npm install  script-loader  –save-dev npm install   ...

  4. C#语言-NPOI.dll导入Excel功能的实现

    前言:刚工作那会,公司有一套完善的MVC框架体系,每当有导入EXCEL功能要实现的时候,都会借用框架里自带的导入方法,一般三下五除二就完成了,快是快,可总是稀里糊涂的,心里很没有底.前几天,在另一个原 ...

  5. DevExpress XtraGrid 数据导出导入Excel

    // <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param ...

  6. SQLServer导入Excel,复杂操作

    导入Excel 先导入的时候报错了, 提示未在本地计算机上注册"Microsoft.ACE.Oledb.12.0"提供程序.(System.Data),去网址下个软件安装就搞定了, ...

  7. vue项目使用js-xlsx进行excel表格的导入和导出方法的简单原型封装

    前提:已经安装好 file-saver xlsx和 script-loader,如未安装,请查看 https://www.cnblogs.com/luyuefeng/p/8031597.html 新建 ...

  8. Vue项目中导入excel文件读取成js数组

    1. 安装组件 cnpm install xlsx --save 2. 代码 <template> <span> <input class="input-fil ...

  9. vue入坑教程(二)在vue项目中如何导入element以及sass

    在项目中导入element以及sass.stylus等方便开发的工具以及UI框架 (1)如何在vue项目中导入elementUI框架 elementUI是饿了么团队开发出来基于vue的前端UI框架,其 ...

随机推荐

  1. markdown-it + highlight.js简易实现

    markdown-it 官方demo markdown-it 文档 1.配置highlightjs,针对markdown中各种语言高亮,针对对应的标签 pre code 里面的样式 -- index. ...

  2. 【Leetcode堆和双端队列】滑动窗口最大值(239)

    题目 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最大值. 示例: 输入 ...

  3. Go语言开发教程

    Go语言简述 兴起:2009年Gogle发布的第二款开源编程语言 特征: 语法简单:语法标准比较严格,适合开发人员短时间高效的服务端开发. 并发模型:Goroutine是Go最显著的特征,使用类协程的 ...

  4. jQuery 鼠标移入图片 显示大图并跟随鼠标移动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. input禁止复制、粘贴、剪切

    <input type="text" autocomplete="off"> <!-- autocomplete="off" ...

  6. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛C. Sum【脑洞题】

    限制:1000ms 32768K Define the function S(x) for xx is a positive integer. S(x) equals to the sum of al ...

  7. mysql通过TEXT字段进行关联的优化方案

    mysql如果通过超长的字段进行on关联,会导致效率很低,7k关联1.4k,结果为30+W的数据量,执行时间高达50秒. 将这个字段进行md5,然后再通过md5后的值进行关联,执行效率会大大优化,同样 ...

  8. 防止chrome主页被篡改并设置为默认打开无痕浏览方式

    1. 找到chrome的快捷方式, 右击打开属性 2. 将目标框内容改为以下内容chrome.exe的目录位置 // ----- 引号中的内容为"PATH\Chrome\Applicatio ...

  9. Python类型模块:types

    types模块中定义了Python中所有的类型,包括NoneType,  TypeType,  IntType,  FloatType,  BooleanType,  BufferType,  Bui ...

  10. Laravel5.1 实现第三方登录认证教程之 - 微信登录

    https://laravel-china.org/topics/2451/laravel51-implementation-of-the-third-party-login-authenticati ...