`
tracySun
  • 浏览: 29095 次
  • 来自: ...
社区版块
存档分类
最新评论

怎样提高excel文件内容写入数据库的效率?

阅读更多
我目前的处理方法是首先从客户端上传这个文件到服务器,然后在服务器端解析excel中的内容,最后入库。当大批量数据导入的时候,比如说1万条以上,就会出现内存耗尽的问题,另外我在入库时需要对excel的内容检核,还需要做一些数据库操作,也就是说我向数据库中插一条记录,需要执行两次select,一次insert.请问有什么方法提高效率吗?
分享到:
评论
5 楼 Godlikeme 2007-01-13  
1w条并不算大数据量,只是excel处理工具包的处理能力限制造成的,一次只能处理几万条吧。
这么多数据,更新到数据库肯定是要batchupdate;要做内容检查,可以先把要检查的内容select出来,然后在内存中用程序处理检查。
数据库访问大的原则就是:多次单笔用批量,交互拿到内存中处理,减少数据库访问次数。
4 楼 magice 2007-01-13  
引用

内存溢出是你缓存的EXCEL表的数据太多的结果。
(假设10000行×20列×20字符=4000000个字符, 就需要近2个G的内存了)。

这个算法有问题吧,一个字符一个字节算的话,4000000个字符总共需要将近4M,怎么会用2个G呢?!
3 楼 ppshen 2007-01-11  
内存溢出是你缓存的EXCEL表的数据太多的结果。
(假设10000行×20列×20字符=4000000个字符, 就需要近2个G的内存了)。
效率问题应该是你频繁访问数据库的结果。
解决方法:
将EXCEL传到服务器后, 分块读取文件到缓存插入数据库:解决内存溢出问题。
建立一个数据库临时表,将EXCEL表中的数据,批量插入到这个临时表中。
后面的事情就是SQL的事情了, 一次(如果可以)SELECT检查,一次批量插入。
2 楼 tracySun 2007-01-09  
我是用jxl包来读的,读一个文件时要读它的三个sheet,这三个都是用for循环来做的,按行读,读一条记录,做一些检核然后入库,最后关闭这个工作簿,请问这样存在什么问题?(另外我现在处理的excel文件用poi包读不了,不知道是不是因为数据量大的问题)
1 楼 LucasLee 2007-01-05  
内存耗尽应该是读取Excel时引起的,而不是JDBC操作。
这是我的经验,你应该先查清楚问题的原因。

相关推荐

    使用POI解析excel文件并写入数据库

    本篇文章将详细讲解如何使用Apache POI解析Excel文件,并将数据写入数据库。 首先,我们需要了解Apache POI的基本概念。POI提供了一个Java API,使得开发者可以在不依赖Microsoft Office的情况下,处理Excel文件。...

    批量读取excel文件并利用dbcp连接池写入数据库

    本话题主要涉及如何批量读取Excel文件,并利用DBCP连接池将数据写入数据库。这个过程涉及到几个关键知识点,包括Excel文件操作、数据库连接池的使用以及多线程处理。 首先,Excel文件操作通常使用Java中的Apache ...

    java POI 通过MultipartFile删除Excel文件解析写入数据库

    下面我们将深入探讨如何使用Java POI和MultipartFile来解析Excel文件,并将数据写入数据库。 首先,我们需要理解MultipartFile的工作原理。在Spring MVC中,当用户上传文件时,控制器方法的参数可以声明为...

    利用POI解析excel并存入数据库demo

    在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...

    C++实现从TXT或Excel读取数据写入数据库小工具

    通过打开文件流,我们可以逐行读取TXT文件的内容,然后进行必要的处理和解析,以便准备写入数据库。 对于Excel文件的处理,由于C++标准库不直接支持,通常需要借助第三方库,如LibXL、pandas(在C++环境中通过...

    Java 代码从Excel表写入数据库

    本话题将深入探讨如何使用Java结合Apache POI库来实现从Excel表格读取数据并将其写入数据库的过程。 首先,Apache POI是Java社区开发的一个开源库,专门用于处理Microsoft Office格式的文件,如Excel(.xlsx或.xls...

    如何把Excel文件转换成mdb数据库?(14KB)...

    本教程将详细介绍如何将Excel文件转换为MDB(Access数据库)格式,这通常用于数据存储和管理。在提供的压缩包中,包含了一个名为"XlsToMdb"的项目,它可能是一个VB6(Visual Basic 6)项目,用于实现这个转换功能。 ...

    将xls中的数据写入数据库

    在Java中,可以使用Apache POI库来解析Excel文件。 ```python import pandas as pd data = pd.read_excel('input.xls') ``` ```java import org.apache.poi.ss.usermodel.WorkbookFactory; Workbook workbook = ...

    excel读取写到数据库工具

    描述中提到的“从excel文件把表格内容读取出来并写入到数据库中”,说明这个程序能够读取Excel文件的各个工作表,解析其中的数据行和列,并将其转换为适合数据库存储的格式。此外,“还做了数据校验”意味着在数据...

    excel表导入数据库 数据库导出excel(idea平台)

    首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。Apache POI是一个开源项目,提供了读取和写入Microsoft Office格式文件的能力,包括Excel。通过使用POI,我们可以方便地在Java程序中创建、修改和...

    java实现Excel数据导入到数据库

    5. **关闭资源**:操作完成后,记得关闭数据库连接和Excel文件输入流,释放系统资源。 接着,我们来看数据库数据导出到Excel的过程: 1. **查询数据库**:使用JDBC的`Statement`或`PreparedStatement`执行SQL查询...

    Python-Excel一键导入MySQL数据库MySQL数据库一键读取到Excel表格

    - **写入数据库**:通过`to_sql()`方法,将DataFrame对象的数据批量写入MySQL数据库中的指定表。 2. **MySQL数据库数据导出到Excel** - **建立数据库连接**:同上,使用`mysql-connector-python`创建与MySQL...

    excel导入数据到Oracle数据库

    3. **准备Excel文件**:确保Excel文件中的数据格式正确,并且包含所有需要导入到数据库表中的列。 #### 三、本地测试环境数据导入步骤 1. **登录PL/SQL Developer**:启动PL/SQL Developer并连接到本地测试数据库...

    excel文件导入mysql数据库

    首先,读取Excel文件,然后将数据写入数据库。 ```python import pandas as pd import mysql.connector # 读取Excel文件 data = pd.read_excel('your_file.xlsx') # 创建数据库连接 cnx = mysql.connector...

    直接使用SQL语句读取Excel表格内容,把表中内容导入数据库中

    根据给定的文件信息,我们可以深入探讨如何使用SQL语句直接读取Excel表格内容,并将这些数据导入到数据库中。这一技术在数据迁移、数据整合以及报表自动化等场景下非常实用。下面,我们将详细解析这一过程中的关键...

    excel批量导入数据库

    首先,Excel文件(通常是.XLSX或.XLS格式)中的数据被解析,然后根据预定义的映射规则转换成数据库可识别的格式,最后这些数据被插入到合适的数据库表中。这一过程通常需要编程知识,如SQL和Python等,但也有许多...

    Excel文件操作 数据库 vc 源码

    本资源"Excel文件操作 数据库 vc 源码"提供了使用Visual C++(简称VC)进行Excel文件操作的方法,将Excel文档视为数据库来读取和写入数据。下面我们将深入探讨这个主题。 首先,VC是Microsoft开发的C++集成开发环境...

    C# 写的Excel导入mysql数据库

    更推荐使用开源库,如EPPlus,它可以高效地读取和写入Excel文件,无需依赖Office。 3. **数据流处理**: 当处理大量数据时,使用数据流可以有效减少内存占用。在读取Excel文件时,可以一次性读取较小的数据块,而...

    java实现mysql数据库的表导出到excel文件

    在IT行业中,将数据库数据导出到Excel文件是一种常见的需求,尤其在数据分析、报表生成或者数据备份时。本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 ...

    excel 数据库接口读取和写入

    Excel数据库接口允许开发者通过编程方式读取和写入数据,极大地提升了工作效率。本文将深入探讨如何利用MFC(Microsoft Foundation Classes)SDI(Single Document Interface)文档绘制对话框在Visual Studio 2010...

Global site tag (gtag.js) - Google Analytics