.net excel导出源码(Excel网页版)

源码大全 a1561571580 发布时间:2025-02-07 浏览:

.net excel导出源码(Excel网页版)

求关于asp.net+mvc代码导出数据Excel表格形式的

private void ExportExcelFromDataGrid( string filename, System.Web.UI.WebControls.DataGrid ToExcelGrid)

{

Response.Clear();

Response.Buffer=true;

Response.Charset="utf-8";

Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode( filename));

Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文

Response.C;//设置输出文件类型为excel文件。

this.EnableViewState=false;

System.Globalization.CultureInfo myCItrad=new System.Globalization.CultureInfo("ZH-CN",true);

System.IO.StringWriter oStringWriter=new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter=new System.Web.UI.HtmlTextWriter(oStringWriter);

ToExcelGrid.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

Response.End();

}

private void Button4_Click(object sender, System.EventArgs e)

{

this.Panel1.Visible=false;

string filename="内训师.xls";

this.DataGrid1.Columns[6].Visible=true;

this.DataGrid1.Columns[7].Visible=true;

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-1].Visible=false;//*

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-2].Visible=false;//*

this.DataGrid1.AllowSorting=false;//*

this.DataGrid1.AllowPaging=false;

this.DataGrid1.SelectedIndex=-1;//*

this.BindGrid();

this.ExportExcelFromDataGrid( filename, this.DataGrid1);

}

原理是利用DataGrid(其实是其父类Control)的RenderControl方法输出,整个DataGrid的外观时,将这些HTML代码写入到缓冲区,同时设置一下 ContentType,让Excel自己的自动纠错功能将这个输出存为一个Excel文件。

很多网上的朋友使用了以上这种可粘贴性强的代码,发现不好用,反映的错误类似:

“LinkButton必须放在一个具有runat=server的标签的Form”之类的话,而更多的网友说:

问题很明显,因为DataGrid没有放在runat=server的Form里面,加上就可以了。

我认为,这种回答是很不准确的,理由如下:

通常使用这种代码的人他/她的DataGrid,最起码已经能用了,所以必定放在那个具有runat=server的form标签里了。

报错是LinkButton,而不是DataGrid,很多细心的朋友很可能会说,我一直在用DataGrid,LinkButton在哪里来的。

其实真正的问题是,上面的代码没有加了//*的那几行代码引起的。

当然如果你的DataGrid,没有排序,没有使用那种按钮列的话,是不会出问题的。

言归正传,LinkButtion其实是你将DataGrid设为可排序时候,的表头包含的,所以我要将DataGrid的排序设为False。

同样得到上面的其实,那些按钮列,什么"编辑"、“删除”等等这些,也是用了LinkButton,把他设为不可见就是了。

其实说得再明白一点就是,将有可能产生LinkButton,或其他控件的东西都不让它输出就是了。

C#中如何将数据库数据直接导出到Excel

'初始化excel工作环境

Dim exapp As Microsoft.Office.Interop.Excel.Application= New Microsoft.Office.Interop.Excel.Application'定义excel应用程序

Dim exbook As Microsoft.Office.Interop.Excel.Workbook'定义工作簿

Dim exsheet As Microsoft.Office.Interop.Excel.Worksheet'定义原始数据工作表

Try

'得到EXCEL表格

exapp.Visible= False'显示excel程序

exbook= exapp.Workbooks.Open("f:\副本服务站库1.xls")'打开已在工作薄

exsheet= exbook.Sheets(1)'获得原始数据工作表第一页'写入数据(按照单元格循环写入)

'具体写入数据样式

exsheet.Cells(1, 1).Value=xxxxx'xxxxx为任意数据'保存EXCEL表格

exbook.Save()

Catch ex As Exception

Response.Write(ex.Message)

'关闭EXCEL表格

exapp.Workbooks.Close()

End Try

'关闭EXCEL表格

exapp.Workbooks.Close()这个是vb.NET的代码,语法可能不一样,但是方法调用应该一样的,读取数据库数据按照你自己的来然后就是把数据写入EXCEL文件exsheet.Cells(1, 1).Value=xxxxx这个是往A1单元格写入变量XXXX的值具体的数据你自己写吧

[vb.net] 怎么把listview中数据 导出保存到成excel文件

我回答你的第一个问题,因为后面的看不懂你的意思

函数:

Public Function ListViewtoExcel(ByVal LV As ListView) As Boolean

Try

If LV.Items.Count<= 0 Then'判断记录数,如果没有记录就退出

MessageBox.Show("没有记录可以导出","没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)

Return False

End If

'如果有记录就导出到Excel

Dim AP_Excel As Object'定义Excel对象

Dim wk As Object'定义Workbook对象

AP_Excel= CreateObject("Excel.Application")'创建Excel对象

wk= AP_Excel.workbooks.add()

Dim i As Integer, u As Integer= 0, v As Integer= 0'定义循环变量,行变量,列变量

For i= 1 To LV.Columns.Count'把表头写入Excel

wk.worksheets(1).cells(1, i)= LV.Columns(i- 1).Text.Trim

Next

Dim str(LV.Items.Count- 1, LV.Columns.Count- 1)'定义一个二维数组

For u= 0 To LV.Items.Count- 1'行循环

For v= 0 To LV.Columns.Count- 1'列循环

If v< LV.Items(u).SubItems.Count Then'如果该行该列项存在

str(u, v)= LV.Items(u).SubItems(v).Text.Trim

Else'如果该行该列项不存在

str(u, v)=""

End If

Next

Next

wk.worksheets(1).range("A2").Resize(LV.Items.Count, LV.Columns.Count).Value= str'把数组一起写入Excel

wk.worksheets(1).Cells.EntireColumn.AutoFit()'自动调整Excel列

' yy.worksheets(1).name= LV.TopLeftHeaderCell.Value.ToString'表标题写入作为Excel工作表名称

AP_Excel.visible= True'设置Excel可见

wk= Nothing'销毁组建释放资源

AP_Excel= Nothing'销毁组建释放资源

Return True'返回真

Catch ex As Exception'错误处理

MessageBox.Show(Err.Description.ToString,"错误", MessageBoxButtons.OK, MessageBoxIcon.Error)'出错提示

Return False'返回假

End Try

End Function

调用函数:如 ListViewtoExcel(Me.ListView1)

在线咨询

点击这里给我发消息QQ客服

在线咨询

免费通话

24h咨询:


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部