毕业设计中。。请教啊。。。(打印还是导出到excel,这两个哪个简单?) 我会选择DataSet -> SQL -> Excel 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的你说具体点啊,给出具体的代码好吗?????????////还有就是大家知道怎么从DATAGRID到出到EXCEL呢???????????????我可能就选择这样做了,现在迷茫中啊。我找不到资料,大家知道什么地方有资料告诉我啊 导出到Excel把,你把Excel的Com组件作为引用添加近来看看,这个具体的我也没做过,应该不难。 你参考一下: 在应用程序页中生成EXCEL数据表以及相关的操作--------------------------------------------------------------------------------摘要 本文主要介绍如何在应用程序页中生成EXCEL数据报表--------------------------------------------------------------------------------目录序言 使用方法 需要注意的方面 结束--------------------------------------------------------------------------------序言返回--------------------------------------------------------------------------------使用方法1.引用相关组件 //Microsoft浏览器 工具箱->右键单击->添加/移除项->COM->Microsoft Web 浏览器->确定 //Microsoft Excel Object Library 项目->添加引用->COM->Microsoft Excel Object Library //其他引用 using System.Reflection ; using Excel ;2.添加Web浏览器控件(默认名称为axWebBrowser1)3.从EXCEL数据文件导入EXCEL数据 string strFileName = @"J:\李虎\测试程序\ConnectToXlsDB\1.xls";Object refmissing = System.Reflection.Missing.Value;axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);4.在axWebBrowser1_NavigateComplete2事件中取得Excel进程句柄 Object o = e.pDisp;Object oDocument = o.GetType().InvokeMember("Document",BindingFlags.GetProperty,null,o,null);--其中app是一个类级别的全局变量app = (Excel.Application ) o.GetType().InvokeMember("Application",BindingFlags.GetProperty,null,oDocument,null);5.取得工作页句柄 --其中worksheet为类级别的全局变量--改操作取得的是第一页(Sheet)的操作worksheet = (Excel._Worksheet )app.Worksheets.get_Item (1) ; 6.设置特定单元格值 到了这步,你可以通过读取(SELECT QUERY)数据库中的数据,然后以次将他们通过下文代码放入指定的单元各中。不用多说,也应该明白怎么做了吧! --设置指定单元格值可以通过两种方法--下例设置的是第一行第一列格的值worksheet.Cells.set_Item (1,1, 110 ) ;worksheet.Cells[1,1] = 110 ;7.读取指定单元格值 --这里读取的是第一行第一列单元格的值--其中A1指示出所读单元格。第一个"A1"是开始格,后面一个是结束格--因为只读取一个,所有都设置成相同值worksheet.get_Range ("A1","A1").Value2.ToString()8.关闭操作进程(关闭app句柄) --一定要记住在代码中关闭app句柄--应为在关闭应用程序后,Excel不会被终止,而仍旧存在于内存中System.Runtime.InteropServices.Marshal.ReleaseComObject(app);返回--------------------------------------------------------------------------------需要注意的方面 在结束应用程序之前一定要通过代码结束在前面开启的Excel进程,否则它会一直处于内存之中。返回 --------------------------------------------------------------------------------结束 参考资料:http://www.smallrain.net/study_show.asp?id=259 http://www.csdn.net/develop/article/18/18344.shtm http://www.csdn.net/develop/article/21/21391.shtm 返回--------------------------------------------------------------------------------作者:李虎2004年04月20日EMAIL:[email protected] #region 根据所输入的参数获取相应的字符串值(此值将作为导出的Excel表格的最大坐标数)public string getCorrStr(string strNum) { #region 用例说明 /* 【输入】 strNum: 所得的记录数 【输出】 string: 相应的字符串值 【流程定义】 1、将用户所输入的参数获取相应的字符串值 【可选流程】 【问题】 注:此方法是为了根据用户所提供的动态数据的行数和列数来设定要导出的Excel的最大纵坐标数值 */ #endregion if( strNum.ToString()=="1") {return "A"; } if( strNum.ToString()=="2") {return "B"; } if( strNum.ToString()=="3") {return "C"; } if( strNum.ToString()=="4") {return "D"; } if( strNum.ToString()=="5") {return "E"; } if( strNum.ToString()=="6") {return "F"; } if( strNum.ToString()=="7") {return "G"; } if( strNum.ToString()=="8") {return "H"; } if( strNum.ToString()=="9") {return "I"; } if( strNum.ToString()=="10") {return "J"; } if( strNum.ToString()=="11") {return "K"; } if( strNum.ToString()=="12") {return "L"; } if( strNum.ToString()=="13") {return "M"; } if( strNum.ToString()=="14") {return "N"; } if( strNum.ToString()=="15") {return "O"; } if( strNum.ToString()=="16") {return "P"; } if( strNum.ToString()=="17") {return "Q"; } if( strNum.ToString()=="18") {return "R"; } if( strNum.ToString()=="19") {return "S"; } if( strNum.ToString()=="20") {return "T"; } if( strNum.ToString()=="21") {return "U"; } if( strNum.ToString()=="22") {return "V"; } if( strNum.ToString()=="23") {return "W"; } if( strNum.ToString()=="24") {return "X"; } if( strNum.ToString()=="25") {return "Y"; } if( strNum.ToString()=="26") {return "Z"; } return "Z";}#endregion 对了,我的不是web的啊,这应该怎么导出啊,我最想要的是从DATAGRID到处到EXCEL啊。 RFID上位机 C#如何分别设置RSA用证书的公钥私钥的有效期,要求两期限不同。makecert.exe可以吗? C#关机的代码怎样? 如何用c#实现聊天程序中显示本机Ip的功能? 请教一个类替换问题 我不用dcom,不用webservice,.net有什么好方法实现,组件在应用服务器上大家共享吗? 新手求助 怎样取得arraylist里的值 在.net中能够扑获数据库的错误代码吗?就如在pb中。 初学者的困惑 SQL SERVER可以往消微软息队列(MSMQ)发送消息吗?怎么实现? 其他的SERVER 呢?如EXCHANGE 等 NND,终于装上了MSDN中文版,散分并公布下载地址
////
还有就是大家知道怎么从DATAGRID到出到EXCEL呢???????????????我可能就选择这样做了,现在迷茫中啊。我找不到资料,大家知道什么地方有资料告诉我啊
在应用程序页中生成EXCEL数据表以及相关的操作--------------------------------------------------------------------------------摘要
本文主要介绍如何在应用程序页中生成EXCEL数据报表--------------------------------------------------------------------------------目录
序言
使用方法
需要注意的方面
结束--------------------------------------------------------------------------------序言
返回--------------------------------------------------------------------------------使用方法
1.引用相关组件
//Microsoft浏览器
工具箱->右键单击->添加/移除项->COM->Microsoft Web 浏览器->确定
//Microsoft Excel Object Library
项目->添加引用->COM->Microsoft Excel Object Library
//其他引用
using System.Reflection ;
using Excel ;2.添加Web浏览器控件(默认名称为axWebBrowser1)3.从EXCEL数据文件导入EXCEL数据
string strFileName = @"J:\李虎\测试程序\ConnectToXlsDB\1.xls";
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);
4.在axWebBrowser1_NavigateComplete2事件中取得Excel进程句柄
Object o = e.pDisp;
Object oDocument = o.GetType().InvokeMember("Document",BindingFlags.GetProperty,null,o,null);
--其中app是一个类级别的全局变量
app = (Excel.Application ) o.GetType().InvokeMember("Application",BindingFlags.GetProperty,null,oDocument,null);5.取得工作页句柄
--其中worksheet为类级别的全局变量
--改操作取得的是第一页(Sheet)的操作
worksheet = (Excel._Worksheet )app.Worksheets.get_Item (1) ; 6.设置特定单元格值
到了这步,你可以通过读取(SELECT QUERY)数据库中的数据,然后以次将他们通过下文代码放入指定的单元各中。不用多说,也应该明白怎么做了吧!
--设置指定单元格值可以通过两种方法
--下例设置的是第一行第一列格的值
worksheet.Cells.set_Item (1,1, 110 ) ;
worksheet.Cells[1,1] = 110 ;
7.读取指定单元格值
--这里读取的是第一行第一列单元格的值
--其中A1指示出所读单元格。第一个"A1"是开始格,后面一个是结束格
--因为只读取一个,所有都设置成相同值
worksheet.get_Range ("A1","A1").Value2.ToString()
8.关闭操作进程(关闭app句柄)
--一定要记住在代码中关闭app句柄
--应为在关闭应用程序后,Excel不会被终止,而仍旧存在于内存中
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
返回
--------------------------------------------------------------------------------需要注意的方面
在结束应用程序之前一定要通过代码结束在前面开启的Excel进程,否则它会一直处于内存之中。
返回
--------------------------------------------------------------------------------结束
参考资料:
http://www.smallrain.net/study_show.asp?id=259
http://www.csdn.net/develop/article/18/18344.shtm
http://www.csdn.net/develop/article/21/21391.shtm
返回
--------------------------------------------------------------------------------作者:李虎
2004年04月20日
EMAIL:[email protected]
public string getCorrStr(string strNum)
{
#region 用例说明
/*
【输入】
strNum: 所得的记录数
【输出】
string: 相应的字符串值
【流程定义】
1、将用户所输入的参数获取相应的字符串值
【可选流程】
【问题】
注:此方法是为了根据用户所提供的动态数据的行数和列数来设定要导出的Excel的最大纵坐标数值
*/
#endregion
if( strNum.ToString()=="1")
{
return "A";
}
if( strNum.ToString()=="2")
{
return "B";
}
if( strNum.ToString()=="3")
{
return "C";
}
if( strNum.ToString()=="4")
{
return "D";
}
if( strNum.ToString()=="5")
{
return "E";
}
if( strNum.ToString()=="6")
{
return "F";
}
if( strNum.ToString()=="7")
{
return "G";
}
if( strNum.ToString()=="8")
{
return "H";
}
if( strNum.ToString()=="9")
{
return "I";
}
if( strNum.ToString()=="10")
{
return "J";
}
if( strNum.ToString()=="11")
{
return "K";
}
if( strNum.ToString()=="12")
{
return "L";
}
if( strNum.ToString()=="13")
{
return "M";
}
if( strNum.ToString()=="14")
{
return "N";
}
if( strNum.ToString()=="15")
{
return "O";
}
if( strNum.ToString()=="16")
{
return "P";
}
if( strNum.ToString()=="17")
{
return "Q";
}
if( strNum.ToString()=="18")
{
return "R";
}
if( strNum.ToString()=="19")
{
return "S";
}
if( strNum.ToString()=="20")
{
return "T";
}
if( strNum.ToString()=="21")
{
return "U";
}
if( strNum.ToString()=="22")
{
return "V";
}
if( strNum.ToString()=="23")
{
return "W";
}
if( strNum.ToString()=="24")
{
return "X";
}
if( strNum.ToString()=="25")
{
return "Y";
}
if( strNum.ToString()=="26")
{
return "Z";
}
return "Z";
}
#endregion