承接 jarir-ahmed/excel-sql-converter 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jarir-ahmed/excel-sql-converter

Composer 安装命令:

composer require jarir-ahmed/excel-sql-converter

包简介

Bidirectional converter between CSV/XLSX and SQL. Import spreadsheets into SQL INSERT statements or directly into MySQL, and export SQL query results to CSV/XLSX files.

README 文档

README

Bidirectional converter between CSV/XLSX and SQL — import spreadsheets into SQL INSERT statements (or directly into MySQL), and export SQL query results to CSV/XLSX files.

composer require jarir-ahmed/excel-sql-converter

Quick Start

Import: CSV/XLSX → SQL

use JarirAhmed\ExcelSqlConverter\ImportManager;

$import = new ImportManager();

// Generate SQL INSERT statements
$sql = $import->csvToSql('customers.csv', 'customers');
echo $sql;

// With XLSX
$sql = $import->xlsxToSql('orders.xlsx', 'orders');
echo $sql;

// Auto-detect by file extension
$sql = $import->fileToSql('data.csv',  'my_table');
$sql = $import->fileToSql('data.xlsx', 'my_table');

Import: Direct DB insert via PDO

$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=test-excel;charset=utf8mb4',
    'root', 'your_secure_password');

$import = new ImportManager();

// When PDO is passed, rows are inserted directly (returns '')
$import->csvToSql('data.csv', 'users', ['pdo' => $pdo]);

// To get the SQL *and* execute, use skipExecute:
$sql = $import->csvToSql('data.csv', 'users', [
    'pdo' => $pdo,
    'skipExecute' => true,
]);
// Now $sql has the statements, and you can review/execute manually

Export: SQL → CSV/XLSX

use JarirAhmed\ExcelSqlConverter\ExportManager;

$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=test-excel;charset=utf8mb4',
    'root', 'your_secure_password');

$export = new ExportManager();

// SQL query → CSV
$export->sqlToCsv('SELECT * FROM users', $pdo, 'users_export.csv');

// SQL query → styled XLSX
$export->sqlToXlsx('SELECT * FROM orders', $pdo, 'orders_export.xlsx');

Export: Raw array → CSV/XLSX

$export = new ExportManager();

$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob',   'email' => 'bob@example.com'],
];

$export->dataToCsv($data, 'export.csv');
$export->dataToXlsx($data, 'export.xlsx');

ImportManager Options

Option Type Default Description
pdo PDO|null null PDO connection for direct DB insert
skipExecute bool false Return SQL string even when PDO is set
batchSize int 50 Rows per INSERT block
hasHeader bool true First row is column names
columns string[] [] Force custom column names (ignores header)
delimiter string , CSV delimiter (csvToSql only)
enclosure string " CSV enclosure (csvToSql only)
ignore bool false Use INSERT IGNORE instead of INSERT
emptyAsNull bool true Empty cells become NULL instead of ''
preview int 0 Only process first N rows (0 = all)
onDuplicateKey string null SQL fragment for ON DUPLICATE KEY UPDATE
sheetName string first sheet Worksheet name (xlsxToSql only)
formatDates bool true Convert Excel date serials to YYYY-MM-DD (xlsxToSql only)

ExportManager Options

CSV options (sqlToCsv / dataToCsv)

Option Type Default Description
delimiter string , CSV column delimiter
enclosure string " CSV enclosure character
includeHeaders bool true Write column headers as first row
utf8Bom bool false Prepend UTF-8 BOM (Excel-friendly)
headers string[] [] Custom headers (dataToCsv only)

XLSX options (sqlToXlsx / dataToXlsx)

Option Type Default Description
sheetName string Data Worksheet tab name (max 31 chars)
creator string ExcelSqlConverter Document author
styled bool true Apply blue header row styling
headers string[] [] Custom headers (dataToXlsx only)

Local Testing

# Install dependencies
composer install

# Run tests
composer test

Test database (for manual verification):

Host Database User Password Port
localhost test-excel root your_secure_password 3306
CREATE DATABASE IF NOT EXISTS `test-excel` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

License

MIT

jarir-ahmed-csv-xlsx-sql

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固