的卢导表:批量导入Excel文件到SQLite数据库的自动化工具

的卢导表:批量导入Excel文件到SQLite数据库的自动化工具

在这里插入图片描述

简介

的卢导表 是一个可以批量导入excel到sqlite数据库的自动化工具。支持将xls/xlsx/xlsm/xlsb/csv/txt/xml格式的Excel文件导入到mysql/oracle/sql server/postgresql/sqlite等多种原生及国产数据库。自动化是其最大的特点,因为它可以根据excel自动生成表信息与数据库建立联系,最终将数据导入到数据库表。批量是它另一个特点,因为可以做到自动化,所以你可以一次性导入成千上万张表而不是一个一个导。定时导入导出,实时刷新,实现Excel数据与数据库表数据的无缝连接。

工具特色:

自动:工具可以根据excel自动生成表名、列名、列类型及其长度,最终创建表并导入数据,或者根据生成的表信息与数据库表自动匹配并追加或者更新数据
批量: 通常你只能用其他工具一个一个手动导入excel到数据库,但是现在,你可以一次性导入成千上万张表
简单: 只需要提供excel文件位置和目标数据库连接信息,工具就能开始工作直到excel全部被导入
快捷:全部导入100张每张1万行x20列x1MB的excel用时1分46秒,
导入一个100万行x50列x300MB的大型excel仅需3分24秒,
导入一个1000万行x30列x4GB的巨型csv仅需10分35秒,
导入一个10个sheet共1000万行x50列x2GB的巨型excel仅需31分25秒
智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。
定时: 可以使用内置定时任务功能或搭配其他定时任务程序,实现定时导入
实时: 利用定时任务,可实现当excel数据更新时,实时同步更新至数据库
安全:工具无任何互联网连接程序,完全支持本地离线或局域网工作,且已通过360安全检测并上架联想应用商店,保障数据安全

支持环境

  • 操作系统:Windows/Mac/Linux
  • Excel:xls/xlsx/xlsm/xlsb/csv/txt/xml
  • 支持的原生数据库:MySQL/Oracle/SQL Server/PostgreSQL/Access/Hive/SQLite/达梦
  • 兼容的国产数据库:OceanBase/openGauss
  • 可能兼容的其他数据库:PolarDB/TiDB/MariaDB等

工具详细介绍及下载

的卢导表:批量导入Excel到数据库的自动化工具

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个基于Qt操作SQLite数据库的封装类,可以实现将CSV文件导入SQLite数据库中: ```cpp #include <QtSql> #include <QFile> class SqliteHelper { public: SqliteHelper(const QString& dbName) { db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(dbName); } bool open() { if (!db.open()) { return false; } return true; } bool execute(const QString& sql) { QSqlQuery query(db); if (!query.exec(sql)) { return false; } return true; } bool importCsv(const QString& tableName, const QString& csvFilePath) { QFile file(csvFilePath); if (!file.open(QIODevice::ReadOnly)) { return false; } QTextStream in(&file); QStringList fields; QString line = in.readLine(); fields = line.split(","); QString createSql = "CREATE TABLE " + tableName + " ("; for (int i = 0; i < fields.count(); i++) { createSql += fields.at(i) + " TEXT"; if (i != fields.count() - 1) { createSql += ","; } } createSql += ")"; if (!execute(createSql)) { return false; } QSqlQuery query(db); QString insertSql = "INSERT INTO " + tableName + " ("; for (int i = 0; i < fields.count(); i++) { insertSql += fields.at(i); if (i != fields.count() - 1) { insertSql += ","; } } insertSql += ") VALUES ("; for (int i = 0; i < fields.count(); i++) { insertSql += "?"; if (i != fields.count() - 1) { insertSql += ","; } } insertSql += ")"; while (!in.atEnd()) { line = in.readLine(); QStringList values = line.split(","); query.prepare(insertSql); for (int i = 0; i < values.count(); i++) { query.addBindValue(values.at(i)); } if (!query.exec()) { return false; } } return true; } private: QSqlDatabase db; }; ``` 使用该类的示例代码如下: ```cpp SqliteHelper helper("test.db"); if (helper.open()) { if (helper.importCsv("my_table", "my_data.csv")) { qDebug() << "Import success!"; } else { qDebug() << "Import failed!"; } } else { qDebug() << "Open database failed!"; } ``` 其中,`test.db` 是数据库文件名,`my_table` 是将要创建的表名,`my_data.csv` 是CSV文件路径。 需要注意的是,上述代码中的CSV文件必须满足以下条件: - 文件第一行为表格字段名; - 文件中每行数据使用逗号分隔; - 文件编码为UTF-8。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如意机反光镜裸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值