社区
C#
帖子详情
c# 将DataSet 导入到Excel文件中
jsnjlhb
2010-01-16 09:27:11
现在我遇到这样一个问题,由于客户所装的OFFICE版本不一样,如果调用Excel的COM组件。客户端会提示无法找到“Microsoft.Office.Interop.Excel”。
所以我想请教一下,有没有不通过引用com组件的方式将dataset导入到Excel文件中。我是在winform环境下。
...全文
241
15
打赏
收藏
c# 将DataSet 导入到Excel文件中
现在我遇到这样一个问题,由于客户所装的OFFICE版本不一样,如果调用Excel的COM组件。客户端会提示无法找到“Microsoft.Office.Interop.Excel”。 所以我想请教一下,有没有不通过引用com组件的方式将dataset导入到Excel文件中。我是在winform环境下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
minghua_y
2010-06-28
打赏
举报
回复
我有高速且稳定 又不用 COM的方法 需要的请联系 免费
QQ:529679044
yang_road
2010-01-18
打赏
举报
回复
用org.in2bits.MyXls.dll
对直接可以将DataSet转换成Excel输入,绝对强大,非常推荐!!!
段传涛
2010-01-18
打赏
举报
回复
给你代码参考参考吧。
---------------------------------、
public void DataTableToExcel(System.Web.HttpResponse response, DataSet ds, string strDefaultName)
{
const string EXTEND_XLS = "xls";
const string EXTEND_CSV = "csv";
try
{
if (null == ds || ds.Tables.Count < 1)
{
return;
}
if (null == strDefaultName || strDefaultName.Trim().Length < 1)
{
throw new ArgumentException("导出的默认文件名不可为空!");
}
int iDocPos = strDefaultName.LastIndexOf('.');
if (iDocPos <= 0)
{
throw new ArgumentException("导出的默认文件名不正确!");
}
iDocPos++;
//取得扩展名
string strExtenName = strDefaultName.Substring(iDocPos, strDefaultName.Length - iDocPos);
if (strExtenName.Trim().ToLower() != EXTEND_XLS && strExtenName.Trim().ToLower() != EXTEND_CSV)
{
throw new ArgumentException("导出的默认文件的扩展名不正确!");
}
//导出的文件的分隔符
string strSplitChar = string.Empty;
if (strExtenName.Trim().ToLower() == EXTEND_XLS)
{
strSplitChar = "\t";
}
else if (strExtenName.Trim().ToLower() == EXTEND_CSV)
{
strSplitChar = ",";
}
string data = "";
System.IO.StringWriter sw = new System.IO.StringWriter();
string strTemp = string.Empty;
foreach (DataTable dt in ds.Tables)
{
//输出头
foreach (DataColumn column in dt.Columns)
{
strTemp += column.ColumnName + ",";
}
//for (int i = 0; i < dt.Columns.Count; i++)
//{
// if (i != dt.Columns.Count - 1)
// {
// strTemp += dt.Columns[i].ColumnName + strSplitChar;
// }
// else
// {
// strTemp += dt.Columns[i].ColumnName;
// }
//}
sw.WriteLine(strTemp);
strTemp = "";
//输出内容
for (int ii = 0; ii < dt.Rows.Count; ii++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j != dt.Columns.Count - 1)
{
strTemp += dt.Rows[ii][j].ToString() + strSplitChar;
}
else
{
strTemp += dt.Rows[ii][j].ToString();
}
}
sw.WriteLine(strTemp);
strTemp = "";
}
data = "\n\n\n\n";
sw.WriteLine(data);
}
sw.Close();
response.Buffer = false;
response.AppendHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(strDefaultName, System.Text.Encoding.UTF8));
response.ContentType = "application/ms-excel";
response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
response.Write(sw);
response.Flush();
response.End();
}
catch (Exception ex)
{
throw ex;
}
}
----------------------------------有问题可回复
Lee
2010-01-18
打赏
举报
回复
hbxtlhx
说的对 我也是用这种办法
jsnjlhb
2010-01-18
打赏
举报
回复
7楼提供的资料我已经看过了,我之前也是这么处理的,但是客户端装的Excel的版本不同,所以有些地方会提示无法找到“Microsoft.Office.Interop.Excel”
所以我才想有没有其他的方式
北京的雾霾天
2010-01-18
打赏
举报
回复
要找不到了我给你一个,还是高速的。
北京的雾霾天
2010-01-18
打赏
举报
回复
可以不引用就操作Excel;参考:
Type objExcelType = Type.GetTypeFromProgID("Excel.Application");
object objBooks = objApp.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, objApp, null);
....
你再搜一下,有的是。
Hamsic
2010-01-18
打赏
举报
回复
http://topic.csdn.net/u/20100112/08/67e4c827-62b4-48e2-8b55-b1335f6d6d4f.html
看这个帖子把
jsnjlhb
2010-01-18
打赏
举报
回复
高手是不是觉得分数不够啊,我再加分
我查了一些资料,有人提出用文本流的方式,希望能高手能帮忙提供一个方案或者资料
jsnjlhb
2010-01-18
打赏
举报
回复
问题已经解决了,非常感谢hbxtlhx提供的资料
上网搜索了一下,采用晚期绑定Excel的方式可以解决Excel版本不同的问题
但有个问题是第一次用时显得很忙,以后就非常快速了,不知道这个问题有什么好的解决方式
jsnjlhb
2010-01-17
打赏
举报
回复
怎么没高手帮忙解答一下啊
哎
wuyq11
2010-01-16
打赏
举报
回复
使用报表控件生产报表
或在服务器端导出
jsnjlhb
2010-01-16
打赏
举报
回复
有没有具体的实现方式或者参考文件啊
网上大部分都是引用Microsoft.Office.Interop.Excel
或者添加COM组件的方式,虽然能实现但是如果客户安装的是其它版本的Excel就报错
验证码识别
2010-01-16
打赏
举报
回复
up
zming
2010-01-16
打赏
举报
回复
ExcelLibrary, 直接输出 BIFF8 格式的 Execel 文档。
下载地址: http://code.google.com/p/excellibrary/downloads/list
C#
将
DataSet
导入
到
excel
中
(包括图片)
C#
将
DataSet
导入
到
excel
中
(包括图片),包含服务器配置
文件
,暂不支持wps图片浏览
C#
源码
EXCEL
导入
到
Dataset
,
Dataset
导出到
Excel
C#
源码
EXCEL
导入
到
Dataset
,
Dataset
导出到
Excel
Spark的灵魂:RDD和
DataSet
本课重点讲解Spark 的灵魂RDD 和
DataSet
。讲解RDD 的定义、五大特性剖析及
DataSet
的定义和内部机制剖析;对RDD 弹性特性七个方面进行解析;讲解RDD 依赖关系,包括窄依赖、宽依赖; 解析Spark
中
DAG 逻辑视图;对RDD...
.xls
文件
转
DataSet
类
C#
.xls
文件
转
DataSet
类 把一个execl
文件
转换成
DataSet
的类
C#
导入
Excel
数据至
DataSet
C#
将
Excel
文件
的数据表
导入
至
DataSet
,并可以指定各列对应的列名.
C#
110,535
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章