excel表格SQL
1. 如果excel中想使用sql语句怎么使用
在execl中无法使用sql语句!因为excel没有内嵌sql语言,如果非想使用,那么你应该选用access而不是excel。但是在sql
server等数据库中可以使用excel,也就是将excel转成数据库。
否则,只能使用excel中自带的各种函数实现。比如你要统计一个数据范围,可以考虑使用if,如果计数的话,可以考虑使用ifcount,等等还有类似的平均值等统计函数均可以在excel中查看!
如果是对输入值有限制的话,可以考虑使用vba进行宏编辑!
2. 如何把Excel数据转化成SQL语句
1、例如我想把图1的数据给添加到图2的数据库中;
3. excel怎么连接sql数据库
打开EXCEL,新建一个空白工作表,点击【数据】菜单页面中的【自其他来源】,在下拉菜单中选项【来自SQL Server】选项。
4. Excel中如何用SQL进行多工作簿汇总
对于经常使用Excel的人来说,在Excel中使用SQL能高效处理你的数据,但据我所知Excel中的SQL语法与MySQL数据的语法还有点不一样。现在我就来实例说明如何用SQL语句对多个工作簿进行汇总。假如我们要汇总如下三个工作簿
1. 学生信息表
2. 学生成绩表
3. 学生兴趣表
将这三个工作簿按相同学号进行合并,大致分如下几步:
1. 加载数据
在Excel中,依次点击:数据-自其它来源-来自Microsoft Query-Excel Files*
然后再找到你Excel表格的存放目录,如下图
点击下面你要加载的Excel数据表,进入下面页面
将上图可用的三张表都加入到右边查询结果中的列,加入完成后点击下一步,数据就加载完成了。
2. 编写SQL代码并执行
接下来点击上面的SQL按钮开始写SQL合并代码。单纯的合并代码如下
SELECT
tm.*,
tn.兴趣爱好 AS 兴趣爱好
FROM(
SELECT
ta.学号 AS 学号,
ta.姓名 AS 姓名,
ta.年龄 AS 年龄,
ta.性别 AS 性别,
ta.身高 AS 身高,
ta.出生地 AS 出生地,
tb.语文成绩 AS 语文成绩,
tb.数学成绩 AS 数学成绩
FROM(
SELECT
tt.学号 AS 学号,
tt.姓名 AS 姓名,
tt.年龄 AS 年龄,
tt.性别 AS 性别,
tt.身高 AS 身高,
tt.出生地 AS 出生地
FROM [学生基本信息表$] tt
)ta
INNER JOIN(
SELECT
tt.学号 AS 学号,
tt.语文成绩 AS 语文成绩,
tt.数学成绩 AS 数学成绩
FROM [学生成绩表$] tt
)tb
ON ta.学号=tb.学号
)tm
INNER JOIN(
SELECT
tt.学号 AS 学号,
tt.兴趣爱好 AS 兴趣爱好
FROM [学生兴趣表$] tt
)tn
ON tm.学号=tn.学号
将代码写好后复制放入文本框中,点击确定按钮,就开始执行SQL语句。结果如下
这样就完成了三个工作簿的数据合并,接下来将数据返回Excel表。
3. 返回数据到Excel表
点击左上角的文件-将数据返回Microsoft Excel,弹出如下页面
选择数据的存放位置为新工作表,然后点击确定即可,最终得到如下数据表
这样就完成了三个工作簿的数据合并。
Tips:
1. 由于Excel中执行SQL语句时没有比较详细的报错信息,如果SQL代码语法有错误有可能执行会报错,这个问题可以上网查询或者直接在评论区问我。
2. 在Excel SQL中常用到的合并操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更复杂的需求都有一定的处理技巧。
5. 如何在excel表格中读取sql数据库数据
excel程序自带的外部数据连接功能,可以连接sql服务器。具体步骤为:
1、选择【数据】选项卡,在【获取外部数据】分组,找到【自其他来源】。
2、单击【自其他来源】按钮,打开【选择来源】下拉菜单。
3、选择【来自sql
server】打开【数据连接向导】对话框。
4、填写服务器名称、登录的用户名及密码等信息,即可成功连接。
6. 如何在Excel中使用SQL语言实现数据查询
1、选中表格后单击右键选择“定义名称”。
2、单击后,出现命名对话框。
3、这里将表1和表2分别命名为Table1和Table2。
4、选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项。
5、在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉。
6、点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx。
7、点击确定后之后弹出添加表的对话框。
8、点击确定后之后弹出添加表的对话框。
9、输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表。
10、将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”。
7. 怎样把Excel表格导入到SQL数据库中
下面是使用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();
}
}
}
8. 怎么将excel表格导入到sql数据库
在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库,相当于导入一张表的整个数据。导入之前需要检查是否存在同名的表,导入的数据表以“$”结尾就是为了避免表重复,以作区分。下面就来看看具体操作步骤。
http://jingyan..com/article/358570f66145a6ce4724fcba.html
9. 如何将excel表格导入sql
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按 下一步 ,
2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,
3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 ,
4、选择 用一条查询指定要传输的数据,按 下一步 ,
5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,
7、如果要全部导入,则选择 全部行,按 下一步,
8、则会看到根据前面的操作生成的查询语句,确认无误后,按 下一步,
9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表, 按 下一步,
10、选择 立即运行,按 下一步,
11、会看到整个操作的摘要,按 完成 即可