php脚本将json和csv文件文件转换为excel文件再把excel文件插入数据库中
以下是一个使用PHP脚本将JSON和CSV文件转换为Excel文件,并将Excel文件插入数据库的示例代码:
<?php
// 导入PHPExcel库
require_once 'PHPExcel/PHPExcel.php';
// JSON转Excel函数
function jsonToExcel($jsonFile, $excelFile) {
// 读取JSON文件内容
$jsonContent = file_get_contents($jsonFile);
$jsonData = json_decode($jsonContent, true);
// 创建Excel对象
$excel = new PHPExcel();
$sheet = $excel->getActiveSheet();
// 写入表头
$header = array_keys($jsonData[0]);
$col = 'A';
foreach ($header as $item) {
$sheet->setCellValue($col . '1', $item);
$col++;
}
// 写入数据
$row = 2;
foreach ($jsonData as $data) {
$col = 'A';
foreach ($data as $item) {
$sheet->setCellValue($col . $row, $item);
$col++;
}
$row++;
}
// 保存Excel文件
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$writer->save($excelFile);
}
// CSV转Excel函数
function csvToExcel($csvFile, $excelFile) {
// 读取CSV文件内容
$csvData = file_get_contents($csvFile);
$csvData = explode("\n", $csvData);
// 创建Excel对象
$excel = new PHPExcel();
$sheet = $excel->getActiveSheet();
// 写入数据
$row = 1;
foreach ($csvData as $csvRow) {
$csvRow = str_getcsv($csvRow);
$col = 'A';
foreach ($csvRow as $item) {
$sheet->setCellValue($col . $row, $item);
$col++;
}
$row++;
}
// 保存Excel文件
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$writer->save($excelFile);
}
// 插入Excel到数据库函数
function insertExcelToDatabase($excelFile) {
// 连接数据库
$dbHost = 'localhost';
$dbName = 'your_database_name';
$dbUser = 'your_username';
$dbPass = 'your_password';
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);
// 读取Excel文件内容
$excel = PHPExcel_IOFactory::load($excelFile);
$sheet = $excel->getActiveSheet();
// 获取最大行数和最大列数
$maxRow = $sheet->getHighestRow();
$maxCol = $sheet->getHighestColumn();
// 读取数据并插入数据库
for ($row = 2; $row <= $maxRow; $row++) {
$rowData = array();
for ($col = 'A'; $col <= $maxCol; $col++) {
$cellValue = $sheet->getCell($col . $row)->getValue();
$rowData[] = $cellValue;
}
// 插入数据到数据库中,这里需要根据你的数据库结构进行修改
$stmt = $conn->prepare("INSERT INTO your_table_name (col1, col2, col3) VALUES (?, ?, ?)");
$stmt->execute($rowData);
}
// 关闭数据库连接
$conn = null;
}
// 调用示例
$jsonFile = 'example.json';
$csvFile = 'example.csv';
$excelFile = 'example.xlsx';
// 将JSON文件转换为Excel文件
jsonToExcel($jsonFile, $excelFile);
// 将CSV文件转换为Excel文件
csvToExcel($csvFile, $excelFile);
// 将Excel文件插入数据库
insertExcelToDatabase($excelFile);
?>
请注意,上述代码中的数据库连接信息和插入语句需要根据您的实际情况进行修改。同时,您需要提前安装并配置PHPExcel库
原文地址: http://www.cveoy.top/t/topic/hNyl 著作权归作者所有。请勿转载和采集!