首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

asp.net 动态操作EXCEL的有关问题~跟winform有很大区别

2012-01-15 
asp.net 动态操作EXCEL的问题~!跟winform有很大区别!protectedvoidButton1_Click(objectsender,EventArgse

asp.net 动态操作EXCEL的问题~!跟winform有很大区别!
protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                SqlConnection   conn   =   new   SqlConnection( "server=.;uid=sa;pwd=123456;database=test; ");
                DataSet   ds   =   SqlHelper.ExecuteDataset(conn,   CommandType.Text,   "select   *   from   [user] ");
                System.Data.DataTable   tmpDataTable   =   ds.Tables[0];

                Excel.Application   excel   =   new   Excel.ApplicationClass();

                Excel._Workbook   exb;
                Excel._Worksheet   exs;
                exb   =   excel.Workbooks.Add(true);
                exs   =   (Excel._Worksheet)exb.ActiveSheet;

                int   colIndex   =   0;
                int   rowIndex   =   1;

                int   rowSum   =   tmpDataTable.Rows.Count;
                int   ColSum   =   tmpDataTable.Columns.Count;

                foreach   (DataColumn   dc   in   tmpDataTable.Columns)
                {
                        colIndex++;
                        excel.Cells[rowIndex,   colIndex]   =   dc.ColumnName;
                }


                foreach   (DataRowView   row   in   tmpDataTable.DefaultView)
                {
                        rowIndex++;
                        colIndex   =   0;
                        foreach   (DataColumn   col   in   tmpDataTable.Columns)
                        {
                                colIndex++;
                                if   (col.DataType   ==   System.Type.GetType( "System.DateTime "))
                                {
                                        excel.Cells[rowIndex,   colIndex]   =   (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString( "yyyy-MM-dd ");
                                }


                                else
                                        if   (col.DataType   ==   System.Type.GetType( "System.String "))
                                        {
                                                excel.Cells[rowIndex,   colIndex]   =   row[col.ColumnName].ToString();
                                        }
                                        else
                                        {
                                                excel.Cells[rowIndex,   colIndex]   =   row[col.ColumnName].ToString();
                                        }
                        }
                }


                //exs.get_Range是得到单元格的范围,get_Range(excel.Cells[1,   1],   excel.Cells[1,   ColSum])得到,第一行第一列到第1行最后一列的范围..Font.Size是设置这个范围内单元格的字体!
                exs.get_Range(excel.Cells[1,   1],   excel.Cells[1,   ColSum]).Font.Size   =   20;

                exs.get_Range(excel.Cells[1,   1],   excel.Cells[rowSum   +   1,   ColSum]).HorizontalAlignment   =   Excel.XlVAlign.xlVAlignCenter;

                exs.get_Range(excel.Cells[1,   1],   excel.Cells[rowSum   +   1,   ColSum]).Columns.AutoFit();

                exs.get_Range(excel.Cells[1,   1],   excel.Cells[rowSum   +   1,   ColSum]).Borders.LineStyle   =   1;
                //exs.get_Range(excel.Cells[1,   1],   excel.Cells[rowSum   +   1,   ColSum]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight   =   Excel.XlBorderWeight.xlThick;

                exs.Name   =   "rr ";

                excel.Visible   =   true;
        }
同样代码在WINFORM执行会打开EXCEL,但是在WEBFORM里就不行.点击按扭后查看任务管理器会发现EXCEL进程,但是EXCEL却没有打开,高手指教什么回事.!@

[解决办法]
一看就知道是刚做webform的

web跟win不一样,你如果要在客户端打开一个EXCEL是没有权限的,再说你这样的代码都只是在服务端运行而已,跟客户端一点关系都没有
[解决办法]
在服务器端安装office,引用exel com
------解决方案--------------------


up
[解决办法]
up

热点排行