导出EXCEL的问题

BearRui 2007-09-10 01:20:09
我用下面的语句把数据导出excel:

insert into opendatasource('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0;')...Sheet1$
select RoomNo,EmployeeId,EmployeeName,EmployeeCount,Division,PElecNum,ElecNum,ElecUse,PColdWaterNum,ColdWaterNum,ColdWaterUse,PHotWaterNum,HotWaterNum,HotWaterUse,PGasNum,GasNum,GasUse,FreeElec,FreeCWater,CAST(ElecMoneyCount AS NVARCHAR(10)),CAST(CWaterMoneyCount AS NVARCHAR(10)),CAST(HWaterMoneyCount AS NVARCHAR(10)),CAST(GasMoneyCount AS NVARCHAR(10)),CAST(AverElecMoney AS NVARCHAR(10)),CAST(AverCWaterMoney AS NVARCHAR(10)),CAST(AverHWaterMoney AS NVARCHAR(10)),CAST(AverGasMoney AS NVARCHAR(10)),CAST(AllMoney AS NVARCHAR(10)),CAST(CatvMoney AS NVARCHAR(10)),CAST(Rent AS NVARCHAR(10)),Remark
FROM #Result order by RoomNo

导出后打开excel是导出了,可是列的位置不对,比如RoomNo列本来是第一例的,可打开excel后RoomNo列的数据跑到最后1列,其他的列都乱了,

我的excel的列头的,只是列头的中文的,跟#Result表的字段名不一样,这个有关系吗???

...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BearRui 2007-09-10
  • 打赏
  • 举报
回复
不但要指明字段,excel中还要不能有相同的列名,郁闷。
BearRui 2007-09-10
  • 打赏
  • 举报
回复
只是因为字段名太多了,所以指明对应字段觉的太麻烦,先试试。

谢谢指点,^_^
OracleRoob 2007-09-10
  • 打赏
  • 举报
回复
指定目标字段和源字段是一种好的开发习惯。

不论字段名是否相同,指定目标字段名不会出错。
BearRui 2007-09-10
  • 打赏
  • 举报
回复
那如果我xls有的列头是一样的中文名,指定对应的字段会不会出错?
BearRui 2007-09-10
  • 打赏
  • 举报
回复
不是吧,不能和SQL插入表一样插入吗,一定要指定对应的字段?
OracleRoob 2007-09-10
  • 打赏
  • 举报
回复
需要指定目标字段列表,如:


insert into opendatasource('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0;')...Sheet1$ (字段1,字段2,.....)
select ..

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧