再求dataset转excell的代码。要c#的,谢谢了!

feathersea 2003-10-09 03:37:43
及时结分!
...全文
63 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangleiohyeah 2004-01-10
  • 打赏
  • 举报
回复
我把ASPNET的写权还有IUSER的写权都给拉
怎么我写excel = new Excel.ApplicationClass();的时候还是错的。
CBJ2049011 2004-01-09
  • 打赏
  • 举报
回复
using Excel = Microsoft.Office.Interop.Excel;
super76 2004-01-06
  • 打赏
  • 举报
回复
up
IamBM 2004-01-06
  • 打赏
  • 举报
回复
Missing.Value?
有问题,完整的引用名称是什么?
redfoilsman 2004-01-06
  • 打赏
  • 举报
回复
请问楼上,生成的excell文件,保存在什么地方呢
fzjava 2003-12-24
  • 打赏
  • 举报
回复
添加了
using Excel
怎么还是找不到呢
The type or namespace name 'Excel' could not be found (are you missing a using directive or an assembly reference?)
fanjiemail 2003-12-24
  • 打赏
  • 举报
回复
using System;
using Excel;
namespace 类库
{
public class Excel导出
{
public Excel导出(string 查询语句,string 标题)
{
Excel.Application excel;
Excel._Workbook xBk;
Excel._Worksheet xSt;
Excel._QueryTable xQt;
string Conn = "ODBC;DRIVER=SQL Server;SERVER=[服务器地址或者名称];UID=sa;PWD=[密码];APP=[应用程序名称(一般为操作系统名)];WSID=[工作站名称(客户端)];DATABASE=[数据库名称]";
string Select = 查询语句;
excel = new Excel.ApplicationClass();
xBk = excel.Workbooks.Add(true);
xSt = (Excel._Worksheet)xBk.ActiveSheet;
excel.Cells[2,2] = 标题;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Name = "黑体";
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;
xQt = xSt.QueryTables.Add(Conn,xSt.get_Range(excel.Cells[4,2],excel.Cells[4,2]),Select);
xQt.Name = "导出示例";
xQt.FieldNames = true;
xQt.RowNumbers = false;
xQt.FillAdjacentFormulas = false;
xQt.PreserveFormatting = false;
xQt.BackgroundQuery = true;
xQt.RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells;
xQt.AdjustColumnWidth = true;
xQt.RefreshPeriod = 0;
xQt.PreserveColumnInfo = true;
xQt.Refresh(xQt.BackgroundQuery);
excel.Visible = true;
}
}
}

这是一个写好的类
只需要实例化,传参数进去就可以导出Excel了
在我本机已经测试通过

string Conn = "ODBC;DRIVER=SQL Server;SERVER=grd-uright-fan;UID=sa;PWD=guru;APP=Microsoft(R) Windows (R) 2000 Operating System;WSID=GRD-URIGHT-FAN;DATABASE=MyDatabases";

这是连接字符传的例子

fzjava 2003-12-24
  • 打赏
  • 举报
回复
引用了Microsoft Excel 9.0 Object Library后,
运行到这一行出错:excel = new Excel.ApplicationClass();
System.UnauthorizedAccessException: 拒绝访问
再请各位老大帮帮忙
甴曱 2003-12-24
  • 打赏
  • 举报
回复
添加了using Excel找不到的原因是你要在资源管理器中添加Excel引用。
具体的看:http://www.csdn.net/Develop/Read_Article.asp?Id=21391
甴曱 2003-12-24
  • 打赏
  • 举报
回复
如果用 freecs(北狼) 的方法,可以完成DataSet转到Excel里面。但所用时间比较长,我测试过,导出三百条记录,耗时大约十分钟(本机),如果是在网络上,时间可能更长……
直接用Excel里面的数据导出功能吧。它所需要的时间不因为你的记录数据多少而来。一万条记录,只用十秒左右(如果情况好点,五秒就可以了)。
详细的在:
http://www.csdn.net/Develop/Read_Article.asp?Id=22183
54286 2003-12-22
  • 打赏
  • 举报
回复
using Excel
首先要添加Excel的引用
yanransoft 2003-12-21
  • 打赏
  • 举报
回复
Visual Studio Tools for the Microsoft Office System
whitechan1 2003-12-21
  • 打赏
  • 举报
回复
Excel.Application的引用空间?(using System.? )
iamzrsoft 2003-12-19
  • 打赏
  • 举报
回复
晕,怎么不给分啊,我要是碰到这么好的回贴就好了,唉。
zhyx21century 2003-10-09
  • 打赏
  • 举报
回复
good
树猫 2003-10-09
  • 打赏
  • 举报
回复
Excel.Application excel = new Excel.Application();
excel.Visible = true;
excel.Workbooks.Add(Missing.Value);
Worksheet worksheet = (Worksheet) excel.ActiveSheet;
for(int i=0;i<dt.Columns.Count)
{
for(int j=0;j<dt.Rows.Count;j++)
{
worksheet.Cells[i,j] = dt.Rows[i][j].ToString(); //这用个循环写入数据
}
}
worksheet.SaveAs("c:\\bin.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
excel.Quit();
System.GC.Collect();
树猫 2003-10-09
  • 打赏
  • 举报
回复
Excel.Application excel = new Excel.Application();
excel.Visible = true;
excel.Workbooks.Add(Missing.Value);
Worksheet worksheet = (Worksheet) excel.ActiveSheet;
worksheet.Cells[1,1] = ds.Tables[i]["列名"].ToString(); //这用个循环写入数据
worksheet.SaveAs("c:\\bin.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
excel.Quit();
System.GC.Collect();

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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