用户操作
[即时聊天] [发私信] [加为好友]
cpp2017(慕白兄)ID:cpp2017
11616次访问,排名9764(1)好友21人,关注者249
好的工具是成功的一半
cpp2017的文章
原创 12 篇
翻译 0 篇
转载 0 篇
评论 25 篇
cpp2017(慕白兄)的公告
由于很多网友经常提到一些问题,所以在此将这些问题整理一下.这里并没有什么很深的技术,只是一些常见且基础的问题,尽量以最简单易懂和浅显的实例,让新学者受到些启发,希望能对他们有帮助,如有不对之处,请不吝批评指正。
最近评论
deltallp:朋友,不能用啊,我用的时候,说是“某一行缺少对象”.郁闷~~~~
jeffcn2:有一个问题,这样在服务器上不是产生了很多Excel文件,还有就是要控制输出的工作表的样式要如何控制(如:我想从A2开始输出,并设置标题为粗体居中?),请达人指点
ucemouse:我在调用File.Copy(,,true)是,提示:文件正在被另一进程使用,其实就是它自己的进程在使用,两个文件是放在同一个目录中的.请求帮助
lex1982:很有创意,我喜欢
xp1056:这个是不是要求.net版本2005以上?我在03里面用的,没体现出效果来。
比如:SetFocusOnError="True"提示验证控件的该属性找不到
文章分类
收藏
    相册
    文件
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 asp.net导出数据到Excel的几种方法(3/3) 收藏

    新一篇: 自己动手做一个日期选择控件(自定义控件) | 旧一篇: asp.net导出数据到Excel的几种方法(2/3)

    继续前篇,第三种方法是利用OELDB数据访问对象操作Excel文件,达到将数据导出到Excel的目的,这种方法可能用的人不太多,缺点是必须有一个存在的Excel文件。优点是服务器不需要安装Excel,且生成的Excel是标准的Excel格式可以当作数据源使用。

    准备工作:

    1)先用准备一个Excel文件,这个Excel文件可以是空的,或是有一定格式的当做数据模板使用。

    2)将操作的目录给ASP.NET用户(ASPNET 或NETWORK SERVICE)写入权限。

    以下是示例:

    说明一下:如果这个模板文件是个空文件,则需要使用Create Table创建一个工作表,否则只需使用已有的表进操作就可以了。

     

       DataTable dt = new DataTable();
                dt.Columns.Add(
    "name");
                dt.Columns.Add(
    "age"typeof(int));
                dt.Columns.Add(
    "phone");
                dt.Rows.Add(
    "老张"40,"99213812");
                dt.Rows.Add(
    "小李"28,"a21313");
                dt.Rows.Add(
    "小王"22,"2131434");


                
    string FileName = Guid.NewGuid().ToString()+".xls";

                
    string sNewFullFile = Server.MapPath(FileName);
                
    try
                {
                    File.Copy(Server.MapPath(
    "format.xls"), sNewFullFile);
                }
                
    catch (Exception er)
                {
                    Response.Write(er.Message);
                    
    return;
                }



                
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Data Source=" + sNewFullFile + ";Extended Properties=Excel 8.0;";
                System.Data.OleDb.OleDbConnection conn 
    = new System.Data.OleDb.OleDbConnection(strConn);
                OleDbCommand cmd 
    = null;

                
    bool bRet = false;
                
    try
                {
                    conn.Open();
                    
                    cmd  
    = new OleDbCommand("create table [sheet4]([姓名] Text,[年龄] int,[电话] Text)",conn);
                    cmd.ExecuteNonQuery();

                    
    string strSQL = "INSERT INTO [Sheet4$] ([姓名], [年龄],[电话]) VALUES (?, ?, ?)";

                    cmd 
    = new OleDbCommand(strSQL, conn);

                    
    for (int i = 0; i < 3; i++)
                    {
                        cmd.Parameters.Add(i.ToString(), OleDbType.VarChar);
                    }



                    DataView dv 
    = dt.DefaultView;
                    
    foreach (DataRowView row in dv)
                    {
                         
                        cmd.Parameters[
    0].Value = row["name"].ToString();
                        cmd.Parameters[
    1].Value =(int) row["age"];
                        cmd.Parameters[
    2].Value = row["phone"].ToString();
                        cmd.ExecuteNonQuery();                     
                    }
                    bRet 
    = true;
                   
                     
                }
                
    catch (Exception er)
                {
                    Response.Write(er.Message);
                }
                
    finally
                {
                    
    if (cmd != null)
                    {
                        cmd.Dispose();
                    }
                    conn.Dispose();
                    
                }
                
    if(bRet)
                Response.Redirect(FileName);

     

     

     

     

    发表于 @ 2008年04月02日 16:28:00|评论(loading...)|编辑

    新一篇: 自己动手做一个日期选择控件(自定义控件) | 旧一篇: asp.net导出数据到Excel的几种方法(2/3)

    评论

    #ucemouse 发表于2008-05-29 12:02:08  IP: 218.108.48.*
    我在调用File.Copy(,,true)是,提示:文件正在被另一进程使用,其实就是它自己的进程在使用,两个文件是放在同一个目录中的.请求帮助
    #jeffcn2 发表于2008-06-15 14:15:27  IP: 125.77.217.*
    有一个问题,这样在服务器上不是产生了很多Excel文件,还有就是要控制输出的工作表的样式要如何控制(如:我想从A2开始输出,并设置标题为粗体居中?),请达人指点
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © cpp2017(慕白兄)