PHPEXcel和easyui写一个超大Excel上传到数据库
时间: 2024-04-16 07:24:12 浏览: 175
要实现将超大的Excel文件上传到数据库,可以使用PHPExcel库来读取Excel文件的数据,然后使用EasyUI的文件上传组件来实现文件上传功能。下面是一个示例的代码:
1. 首先,确保已经安装了PHPExcel库和EasyUI库。
2. 创建一个上传页面(upload.php),包含一个EasyUI的文件上传组件和一个上传按钮:
```html
<!DOCTYPE html>
<html>
<head>
<title>Excel上传</title>
<link rel="stylesheet" type="text/css" href="easyui/easyui.css">
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
</head>
<body>
<h2>Excel上传</h2>
<input id="excelFile" name="excelFile" class="easyui-filebox" accept=".xls,.xlsx">
<br><br>
<a href="#" class="easyui-linkbutton" onclick="upload()">上传</a>
<script type="text/javascript">
function upload() {
$('#excelFile').filebox('textbox').attr('name', 'excelFile');
$('#excelForm').form('submit', {
url: 'upload_handler.php',
onSubmit: function() {
$.messager.progress();
return true;
},
success: function(data) {
$.messager.progress('close');
$.messager.alert('提示', data, 'info');
}
});
}
</script>
</body>
</html>
```
3. 创建一个处理上传的脚本(upload_handler.php),在这个脚本中使用PHPExcel库来读取Excel数据并将其插入到数据库中:
```php
<?php
require_once 'PHPExcel/IOFactory.php';
// 获取上传的Excel文件
$excelFile = $_FILES['excelFile']['tmp_name'];
// 加载Excel文件
$objPHPExcel = PHPExcel_IOFactory::load($excelFile);
// 获取第一个工作表
$sheet = $objPHPExcel->getActiveSheet();
// 获取行数和列数
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// 循环读取数据
for ($row = 1; $row <= $highestRow; $row++) {
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
// 将数据插入数据库,这里只是示例,需要根据实际情况进行数据库操作
// $rowData[0][0] 表示第一列的数据,$rowData[0][1] 表示第二列的数据,依此类推
// 例如:将数据插入名为data的表格中的两列name和value中
// $name = $rowData[0][0];
// $value = $rowData[0][1];
// insert into data (name, value) values ('$name', '$value');
}
echo '上传成功!';
?>
```
以上代码仅为示例,实际使用中需要根据数据库类型和表结构进行相应的修改。另外,由于上传大型Excel文件可能会占用较多内存,可能需要对服务器进行相应的配置和优化。
阅读全文