问题描述
privatevoidbutton1_Click(objectsender,EventArgse){stringstrConn="DataSource=xxx.xxx.xxx.xxx;InitialCatalog=xxxxx;UserID=sa;Pwd=xxxxx";SqlConnectionconn=newSqlConnection(strConn);conn.Open();stringstrSql="SELECTx1,x2,x3,x4FROMEmployeeMsgWherex3=dateadd(month,-3,getdate())";SqlCommandcmd=newSqlCommand(strSql,conn);SqlDataReaderdr=cmd.ExecuteReader();下面应该怎么写?这样写吗?Export("application/ms-word","员工报表.doc");conn.Close();}privatevoidExport(stringFileType,stringFileName){//System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
解决方案
解决方案二:
introwNum=listView.Items.Count;intcolumnNum=listView.Items[0].SubItems.Count;introwIndex=1;intcolumnIndex=0;if(rowNum==0||string.IsNullOrEmpty(strFileName)){return;}if(rowNum>0){Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.ApplicationClass();if(xlApp==null){MessageBox.Show("无法创建excel对象,可能您的系统没有安装excel");return;}xlApp.DefaultFilePath="";xlApp.DisplayAlerts=true;xlApp.SheetsInNewWorkbook=1;Microsoft.Office.Interop.Excel.WorkbookxlBook=xlApp.Workbooks.Add(true);//将ListView的列名导入Excel表第一行foreach(ColumnHeaderdcinlistView.Columns){columnIndex++;xlApp.Cells[rowIndex,columnIndex]=dc.Text;}//将ListView中的数据导入Excel中for(inti=0;i<rowNum;i++){rowIndex++;columnIndex=0;for(intj=0;j<columnNum;j++){columnIndex++;//注意这个在导出的时候加了“t”的目的就是避免导出的数据显示为科学计数法。可以放在每行的首尾。xlApp.Cells[rowIndex,columnIndex]=Convert.ToString(listView.Items[i].SubItems[j].Text)+"t";}}//例外需要说明的是用strFileName,Excel.XlFileFormat.xlExcel9795保存方式时当你的Excel版本不是95、97而是2003、2007时导出的时候会报一个错误:异常来自HRESULT:0x800A03EC。解决办法就是换成strFileName,Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal。xlBook.SaveAs(strFileName,Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);xlApp=null;xlBook=null;MessageBox.Show("信息已导出~");}
解决方案三:
ListView报错---当前上下文中不存在名称"ListView",我现在没有在form上显示数据画面,直接是从sql2008里面取出来数据,然后直接保存成excel文件到C盘上
解决方案四:
1楼只是给了你一段示例代码,你参考一下进行编程,不是让你照抄的
解决方案五:
把SQLServer数据库查询读取的数据结果输出保存到Excel文档privatevoidbtn_Excel_Click(objectsender,EventArgse){if(dgv_Info.Rows.Count==0)//判断是否有数据return;//返回Microsoft.Office.Interop.Excel.Applicationexcel=newMicrosoft.Office.Interop.Excel.Application();//实例化Excel对象excel.Application.Workbooks.Add(true);//在Excel中添加一个工作簿excel.Visible=true;//设置Excel显示//生成字段名称for(inti=0;i<dgv_Info.ColumnCount;i++){excel.Cells[1,i+1]=dgv_Info.Columns[i].HeaderText;//将数据表格控件中的列表头填充到Excel中}//codego.net///填充数据for(inti=0;i<dgv_Info.RowCount-1;i++)//遍历数据表格控件的所有行{for(intj=0;j<dgv_Info.ColumnCount;j++)//遍历数据表格控件的所有列{if(dgv_Info[j,i].ValueType==typeof(string))//判断遍历到的数据是否是字符串类型{excel.Cells[i+2,j+1]="'"+dgv_Info[j,i].Value.ToString();//填充Excel表格}else{excel.Cells[i+2,j+1]=dgv_Info[j,i].Value.ToString();//填充Excel表格}}}}