在Excel中录入好数据以后,可能会有导入数据库的需求,这个时候就需要利用一些技巧导入。
如何将excel表导入数据库的方法:
1、对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事。那只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可。
2、对下面数据进行组合,这用到excel中的一个功能。
在excel中有个fx的输入框,在这里把组好的字符串填上去就好了。
注:字符串1 & A2 &字符串2 & ...
A2可以直接输入,也可以用鼠标点对应的单元格。
3、每个字符串之间用 & 符号进行连接。下面是第一条连接字符串
="insert into tavern values('"&A2&"','"&B2&"','"&C2&"','"&D2&"');"
写好后按回车键Enter就能组合出对应的字符串了。
insert into tavern values('jw_agi','曙光','0','1');
4、组好第一行的字符串后,把鼠标放到单元格右下方,出现加粗的十字,单击按下(别松开),一直往下拉,直到最后一行再放开就行了。
5、这样就把insert语句都整理好了,接下来就是把这些语句批量执行就可以了。
下面是使用Java实现的,将Excel数据表中的数据导入到数据库里里面。
public class ReadExcel {
/**
* 对外提供读取excel 的方法
* */
public static List<List<Object>> readExcel(File file) throws IOException {
String fileName = file.getName();
String extension = fileName.lastIndexOf(".") == -1 ? "" : fileName
.substring(fileName.lastIndexOf(".") + 1);
if ("xls".equals(extension)) {
return read2003Excel(file);
} else if ("xlsx".equals(extension)) {
return read2007Excel(file);
} else {
throw new IOException("不支持的文件类型");
}
}
/**
* 读取 office 2003 excel
*
* @throws IOException
* @throws FileNotFoundException
*/
private static List<List<Object>> read2003Excel(File file)
throws IOException {
List<List<Object>> list = new LinkedList<List<Object>>();
HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file));
HSSFSheet sheet = hwb.getSheetAt(0);
Object value = null;
HSSFRow row = null;
HSSFCell cell = null;
int counter = 0;
for (int i = sheet.getFirstRowNum(); counter < sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {
continue;
} else {
counter++;
}
List<Object> linked = new LinkedList<Object>();
for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) {
cell = row.getCell(j);
if (cell == null) {
continue;
}
DecimalFormat df = new DecimalFormat("0");// 格式化 number String
// 字符
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");// 格式化日期字符串
DecimalFormat nf = new DecimalFormat("0.00");// 格式化数字
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_STRING:
// System.out.println(i + "行" + j + " 列 is String type");
value = cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_NUMERIC:
/*System.out.println(i + "行" + j
+ " 列 is Number type ; DateFormt:"
+ cell.getCellStyle().getDataFormatString());*/
if ("@".equals(cell.getCellStyle().getDataFormatString())) {
value = df.format(cell.getNumericCellValue());
} else if ("General".equals(cell.getCellStyle()
.getDataFormatString())) {
value = nf.format(cell.getNumericCellValue());
} else {
value = sdf.format(HSSFDateUtil.getJavaDate(cell
.getNumericCellValue()));
}
break;
case XSSFCell.CELL_TYPE_BOOLEAN:
// System.out.println(i + "行" + j + " 列 is Boolean type");
value = cell.getBooleanCellValue();
break;
case XSSFCell.CELL_TYPE_BLANK:
// System.out.println(i + "行" + j + " 列 is Blank type");
value = "";
break;
default:
// System.out.println(i + "行" + j + " 列 is default type");
value = cell.toString();
}
if (value == null || "".equals(value)) {
continue;
}
linked.add(value);
}
list.add(linked);
}
return list;
}
/**
* 读取Office 2007 excel
* */
private static List<List<Object>> read2007Excel(File file)
throws IOException {
List<List<Object>> list = new LinkedList<List<Object>>();
// 构造 XSSFWorkbook 对象,strPath 传入文件路径
XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(file));
// 读取第一章表格内容
XSSFSheet sheet = xwb.getSheetAt(0);
Object value = null;
XSSFRow row = null;
XSSFCell cell = null;
int counter = 0;
for (int i = sheet.getFirstRowNum(); counter < sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {
continue;
} else {
counter++;
}
List<Object> linked = new LinkedList<Object>();
for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) {
cell = row.getCell(j);
if (cell == null) {
continue;
}
DecimalFormat df = new DecimalFormat("0");// 格式化 number String
// 字符
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");// 格式化日期字符串
DecimalFormat nf = new DecimalFormat("0.00");// 格式化数字
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_STRING:
System.out.println(i + "行" + j + " 列 is String type");
value = cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_NUMERIC:
/* System.out.println(i + "行" + j
+ " 列 is Number type ; DateFormt:"
+ cell.getCellStyle().getDataFormatString());*/
if ("@".equals(cell.getCellStyle().getDataFormatString())) {
value = df.format(cell.getNumericCellValue());
} else if ("General".equals(cell.getCellStyle()
.getDataFormatString())) {
value = nf.format(cell.getNumericCellValue());
} else {
value = sdf.format(HSSFDateUtil.getJavaDate(cell
.getNumericCellValue()));
}
break;
case XSSFCell.CELL_TYPE_BOOLEAN:
// System.out.println(i + "行" + j + " 列 is Boolean type");
value = cell.getBooleanCellValue();
break;
case XSSFCell.CELL_TYPE_BLANK:
// System.out.println(i + "行" + j + " 列 is Blank type");
value = "";
break;
default:
// System.out.println(i + "行" + j + " 列 is default type");
value = cell.toString();
}
if (value == null || "".equals(value)) {
continue;
}
linked.add(value);
}
list.add(linked);
}
return list;
}
public static void main(String[] args) {
try {
readExcel(new File("D:\\Java\\apache-tomcat-8.0.26\\webapps\\poi\\docs\\testRead.xls"));
// readExcel(new File("D:\\test.xls"));
/*
String docsPath = request.getSession(true).getServletContext()
.getRealPath("docs");
String fileName = "testRead.xls";
String filePath = docsPath;
if (EPlatform.Windows.equals(OSinfo.getOSname())) {
filePath = filePath + "\\" + fileName;
} else {
filePath = filePath + "/" + fileName;
}
filePath = "E:\\testRead.xls";
List<List<Object>> list = readExcel(new File(filePath));
request.setAttribute("list", list);
RequestDispatcher dispatcher = request
.getRequestDispatcher("/read.jsp");
dispatcher.forward(request, response);
*/
} catch (IOException e) {
e.printStackTrace();
}
}
}
excel表格怎么弄到sql中?
方法一:使用SQL Server管理工具 1. 打开SQL Server Management Studio(SSMS)并连接到目标数据库实例。2. 在“对象资源管理器”窗口中,选择数据库中的目标表。3. 右键单击该表,在上下文菜单中选择“任务”>“导入数据”。4. 在“导入向导”对话框中,选择“Microsoft Excel”作为数据源,点击“下...
sql如何将excel表导入
1. 首先,将Excel表保存为CSV格式,以便更容易导入到SQL数据库中。2. 在SQL数据库中创建一个新的表,该表的结构应与Excel表的列相匹配。3. 使用SQL的LOAD DATA INFILE语句,将CSV文件导入到SQL数据库中的新表中。该语句将读取CSV文件的内容,并将其插入到新表中。4. 确保在LOAD DATA INFILE语句...
怎样将EXCEL数据导入到sql中
1.打开SQL server,选择想要导入的数据库,依次点击:“数据库”右键-任务-导入数据 2.、选择来源的数据为Microsoft Excel,并选择Excel文件所在的位置 3.使用SQL server身份验证登录,选择相对应的数据库(系统会默认你最开始的所选择的数据库),;4.选择数据需要导入的表下,在查看数据类型时选择“忽略”...
如何将excel数据导入Sql
将 Excel 数据导入到 SQL 中可以通过以下一般步骤进行:准备 Excel 数据:确保你的 Excel 数据具有良好的结构,并且每一列都有明确的标题。选择合适的导入工具:根据你使用的数据库管理系统(如 MySQL、SQL Server 等),选择相应的工具或方法来导入数据。常见的方法包括使用数据库管理系统提供的导入功能、...
怎样将EXCEL数据表导入到SQL中
打开SQL Server Management Studio,导入数据。导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。再次确认文件路径没有问题,点击下一步。认为是使用的...
excel导入sqlserver 导入数据到sqlserver
1、打开要导入的Excel文件,观察第一列是为字段还是数据 打开SQLServer,在需要导入的数据点击右键 【任务】-【导入数据】 出现导入导出向导。点击下一步 ,进入【选择数据源】页面,注意红框设置。点击下一步 ,进入【选择目标】页面,注意红框设置。点击下一步 ,进入【指定表复制或查询】页面,注意红...
怎样将EXCEL数据表导入到SQL中
步骤:1、打开SQL Server Management Studio,进入导入数据界面。点击下一步。2、数据源:选择“Microsoft Excel”。点击下一步。3、选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。点击下一步。4、默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码。点击下一步。5、选择导入...
如何将Excel数据导入到SQL中?
1、数据透视视图是处理Excel常用的手段,而应用数据透视视图的第一步就是导入数据,如本例中,表中有889167行数据,那么将这些数据导入Excel表中将是一个很漫长的过程,可以借助SQL语句选择性的导入数据,以此来提交数据加载的速度。2.打开空白Excel,依次点击【数据】选项卡【自Access按钮】。3.在弹出的...
excel导入sql,用sql语句
1.打开SQL Server Management Studio,按图中的路径进入导入数据界面。2.导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。3.数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。4.选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。5.再次确认文件路径没...
怎样将EXCEL数据表导入到SQL中
如何将excel表导入数据库的方法:1、对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事。那只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可。2、对下面数据进行组合,这用到excel中的一个功能。在excel中有个...