sql 导出数据到Excel 指定行开始

时间:2021-03-22 09:39:57
 

一个导出Excel的sql语句
insert into 
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Excel表 中的列名和Sql查询出来的列名数目不一致,
比如:Excel 有20 列,已经有表头了,
而 sql查询结果只有 15列,其中,Excel表的10,11,15,20,14 这些列是不需要填数据的,刚好是sql查询结 中没有的列,
怎么样让在导出Excel时指定空列,和从Excel指定的行开始导数据

4 个解决方案

#1


sql 导出数据到Excel 指定行开始

这个不知道怎么实现的。
但是有个本办法:把所有数据导入到一张表中,再给这张表加一个能够identity的字段,然后你再从这张表里面通过那个字段去你想要的数据复制到另一张表中

#2


引用楼主  的回复:
 
  
一个导出Excel的sql语句
insert into 
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce……


LZ这个可以考虑使用excel直接提取数据的处理。而不是从sql侧插入。
提取数据可以进行刷新。当然这个在2007 和2010的excel上要好一些。

参考  http://office.microsoft.com/zh-cn/excel-help/HA010342298.aspx

#3


引用楼主  的回复:
 
  
一个导出Excel的sql语句
insert into 
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce……


空列已经解决了,


现在的问题是:怎么样从 指定的Excel行开始导

#4


一个导出Excel的sql语句
insert into  
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce已经有列名了,现在要从1234.xls的第四行开始插入数据,
且 sql查询出来的日期格式是 2011-03-31 12:00 或者2011-03-31 00:00 
要将时间格式转换成2011年3月31日上午(00:00为上午)
2011年3月31日下午(12:00为下午)
或者直将 2011-03-31  这样日期格式转换成 2011年3月31日 日期格式

#1


sql 导出数据到Excel 指定行开始

这个不知道怎么实现的。
但是有个本办法:把所有数据导入到一张表中,再给这张表加一个能够identity的字段,然后你再从这张表里面通过那个字段去你想要的数据复制到另一张表中

#2


引用楼主  的回复:
 
  
一个导出Excel的sql语句
insert into 
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce……


LZ这个可以考虑使用excel直接提取数据的处理。而不是从sql侧插入。
提取数据可以进行刷新。当然这个在2007 和2010的excel上要好一些。

参考  http://office.microsoft.com/zh-cn/excel-help/HA010342298.aspx

#3


引用楼主  的回复:
 
  
一个导出Excel的sql语句
insert into 
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce……


空列已经解决了,


现在的问题是:怎么样从 指定的Excel行开始导

#4


一个导出Excel的sql语句
insert into  
 openrowset(
'MicroSoft.Jet.OleDB.4.0',
'Excel 8.0;HDR=no;imex=0;Database=C:\Documents and Settings\cqc\桌面\1234.xls',
Sheet1$)

因为:1234.xls 的Exce已经有列名了,现在要从1234.xls的第四行开始插入数据,
且 sql查询出来的日期格式是 2011-03-31 12:00 或者2011-03-31 00:00 
要将时间格式转换成2011年3月31日上午(00:00为上午)
2011年3月31日下午(12:00为下午)
或者直将 2011-03-31  这样日期格式转换成 2011年3月31日 日期格式