社区
C#
帖子详情
如何实现dataset导出到excel,并且能保证相应的效率。。
iyranly
2008-01-22 02:41:06
如何实现dataset导出到excel,并且能保证相应的效率。。 非常急,着急得很....解决立即给分...
...全文
82
3
打赏
收藏
如何实现dataset导出到excel,并且能保证相应的效率。。
如何实现dataset导出到excel,并且能保证相应的效率。。 非常急,着急得很....解决立即给分...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
michaelwangwh
2008-01-22
打赏
举报
回复
加office的refrence,用xlapp,xlworksheet, cells[i][j]=datatable[i][j]
效率方面理论上用这样的方法了最快了,不清楚lz的效率指的什么?
iyranly
2008-01-22
打赏
举报
回复
不错,收藏!
沅江汐水
2008-01-22
打赏
举报
回复
/// <summary>
/// 导出数据
/// </summary>
/// <param name="dset">将要导出的DataSet,其中的每一个Table必须有一个明确的名字</param>
/// <param name="filepath">目的文件的路径,该数据库必须存在且允许internet来宾用户写入</param>
/// <param name="maxlenth">DataSet中字段的最大长度</param>
/// <returns></returns>
public static bool importToAccess( DataSet dset/*DataTable dt*/,string filepath,/*string tableName,*/int maxlenth)
{
bool ret = false;
if(!Path.GetExtension(filepath).ToLower().Equals(".mdb"))
return ret;
if(!File.Exists(filepath))
// File.Create(filepath);
{
throw new Exception("文件不存在!");
}
if(dset != null && dset.Tables.Count > 0)
{
//2008-01-16
//OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;User Id=admin;jet OleDB:Database Password=sva!@#$%^&*();Data Source=" + filepath);
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;User Id=admin;Data Source=" + filepath);
//2008-01-16
try
{
conn.Open();
for(int i = 0; i<dset.Tables.Count; i++)
{
try
{
OleDbCommand cmd = new OleDbCommand("Select * from " + dset.Tables[i].TableName/*tableName*/,conn);
cmd.ExecuteNonQuery();
cmd.CommandText = "Drop Table " + dset.Tables[i].TableName; /*tableName;*/
cmd.ExecuteNonQuery();
cmd.Dispose();
}
catch
{
}
string str = "Create Table " + /*tableName*/ dset.Tables[i].TableName + "(" ;
for(int j=0;j<dset.Tables[i].Columns.Count;j++)
{
str = str + "[" + dset.Tables[i].Columns[j].ColumnName + "] "; // + dt.Columns[i].DataType.ToString() + ",";
string type = dset.Tables[i].Columns[j].DataType.ToString();
switch(dset.Tables[i].Columns[j].DataType.ToString())
{
case "System.String":
str = str + "varchar(" + maxlenth + "),";
break;
case "System.Int32":
str = str + "int,";
break;
case "System.DateTime":
str = str + "DateTime,";
break;
default:
str =str+"varchar(" + maxlenth + "),";
break;
}
}
str = str.Substring(0,str.Length-1) + ")";
OleDbCommand o = new OleDbCommand(str,conn);
o.ExecuteNonQuery();
o.Dispose();
}
for(int i = 0;i<dset.Tables.Count;i++)
{
OleDbDataAdapter da = new OleDbDataAdapter();
OleDbCommand command = new OleDbCommand();
command.Connection = conn;
int col = dset.Tables[i].Columns.Count;
//int col = dt.Columns.Count;
string commandText = "Insert into " + dset.Tables[i].TableName /*tableName*/ + " values(";
ArrayList va = new ArrayList();
for(int j=0;j<col;j++)
{
va.Add(dset.Tables[i].Columns[j].ColumnName);
commandText = commandText + /*"@" + va[i].ToString()*/ "?" + ",";
}
commandText = commandText.Remove(commandText.LastIndexOf(","),1);
commandText = commandText + ")";
//command.CommandType = CommandType
command.CommandText = commandText;
for(int k=0;k<va.Count;k++)
{
OleDbParameter old = new OleDbParameter("@" + va[k].ToString(),OleDbType.Variant);
old.SourceColumn = dset.Tables[i].Columns[va[k].ToString()].ColumnName;
old.SourceVersion = DataRowVersion.Original;
command.Parameters.Add(old);
}
DataSet ds = new DataSet();
DataTable d = new DataTable();
d = dset.Tables[i].Clone();
// ds.Tables.Add(d);
for(int n=0;n<dset.Tables[i].Rows.Count;n++)
{
DataRow r = d.NewRow();
r.ItemArray = dset.Tables[i].Rows[n].ItemArray;
d.Rows.Add(r);
//
// command.Parameters
}
ds.Tables.Add(d);
da.InsertCommand = command;
da.Update(ds,ds.Tables[0].TableName);
command.Dispose();
da.Dispose();
}
ret = true;
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
//command.Dispose();
// da.Dispose();
conn.Close();
conn.Dispose();
}
}
return ret;
}
Spark的灵魂:RDD和
DataSet
本课重点讲解Spark 的灵魂RDD 和
DataSet
。讲解RDD 的定义、五大特性剖析及
DataSet
的定义和内部机制剖析;对RDD 弹性特性七个方面进行解析;讲解RDD 依赖关系,包括窄依赖、宽依赖; 解析Spark 中DAG 逻辑视图;对RDD 内部的计算机制及计算过程进行深度解析;讲解Spark RDD 容错原理及其四大核心要点解析对Spark RDD 中Runtime 流程进行解析;通过一个WordCount 实例,解析Spark RDD内部机制; 基于
DataSet
的代码,深入分析
DataSet
一步步转化成为RDD 的过程。
C#通过OLEDB
导出
大数据到
Excel
C#通过OLEDB
导出
大数据到
Excel
分享一个
导出
数据到
Excel
的类库
起源: 之前在做一个项目时,客户提出了许多的
导出
数据的需求:
导出
用户信息
导出
业务实体信息 各种查询都要能
导出
导出
的数据要和界面上看到的一致 可以分页
导出
。。。 为了应对用户的这些需求,我决定先写一个能够满足这些需求的
导出
功能封装库,于是就有了这个类库。 选材:
导出
Excel
完全靠自己写是不太实际的,因此需要使用一些现成的东...
C#
导出
excel
一、DataTable To
Excel
先定义一下: private
Excel
.Application
excel
App= new
Excel
.ApplicationClass();//Application与ApplicationClass的区别我没有明白。 private
Excel
.Workbook
excel
Book =
excel
A
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章