社区
C#
帖子详情
c# 将DataSet 导入到Excel文件中
jsnjlhb
2010-01-16 09:27:11
现在我遇到这样一个问题,由于客户所装的OFFICE版本不一样,如果调用Excel的COM组件。客户端会提示无法找到“Microsoft.Office.Interop.Excel”。
所以我想请教一下,有没有不通过引用com组件的方式将dataset导入到Excel文件中。我是在winform环境下。
...全文
244
15
打赏
收藏
c# 将DataSet 导入到Excel文件中
现在我遇到这样一个问题,由于客户所装的OFFICE版本不一样,如果调用Excel的COM组件。客户端会提示无法找到“Microsoft.Office.Interop.Excel”。 所以我想请教一下,有没有不通过引用com组件的方式将dataset导入到Excel文件中。我是在winform环境下。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
中
(包括图片)
在.NET开发环境
中
,
C#
是一...总之,将
DataSet
导入
Excel
并在其
中
包含图片是一个涉及数据处理、
文件
操作和Office Interop的复杂过程。在实际应用
中
,根据服务器环境和需求,可能需要选择不同的方法和技术来实现这一目标。
C#
源码
EXCEL
导入
到
Dataset
,
Dataset
导出到
Excel
### 一、
导入
Excel
文件
到
DataSet
#### 1.1 引用必要的组件 为了实现
Excel
文件
与
DataSet
之间的转换,首先需要引用Microsoft
Excel
11.0 COM组件。这可以通过以下语句完成: ```csharp using Microsoft.Office....
C#
Winform实现
导入
和导出
Excel
文件
本文实例为大家分享了Winform实现
导入
导出
Excel
文件
的具体代码,供大家参考,具体内容如下 /// /// 导出
Excel
文件
/// /// /// <param name=
dataSet
> /// 数据集 /// 导出后是否打开
文件
/// <returns></...
C#
导入
Excel
数据至
DataSet
在
C#
编程
中
,将
Excel
数据
导入
到
DataSet
是一项常见的任务,尤其在处理大量表格数据时。
DataSet
是一个轻量级的数据存储容器,它可以离线存储数据,非常适合进行数据操作和分析。下面我们将详细讨论如何实现这一过程,...
c#
从
Excel
导入
到DataGridView
"
C#
从
Excel
导入
到 DataGridView",该标题表明了本文的主要内容,即使用
C#
语言将
Excel
文件
中
的数据
导入
到 DataGridView 控件
中
。 描述解释 "
C#
WinForm 从
Excel
导入
到 DataGridView 源码",该描述表明了...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章