C# 什么';s更改C中的“我的导出”按钮(btnExport)#
下面是我的代码,用于一个简单的数据表导出到CSV文件程序。我的程序实际上正在运行一个网站来存储数据库,并使用“导出”按钮将数据库转换为C# 什么';s更改C中的“我的导出”按钮(btnExport)#,c#,html,csv,datatable,export,C#,Html,Csv,Datatable,Export,下面是我的代码,用于一个简单的数据表导出到CSV文件程序。我的程序实际上正在运行一个网站来存储数据库,并使用“导出”按钮将数据库转换为.csv文件 using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Text; using System.Web; using S
.csv
文件
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Contact : System.Web.UI.Page
{
SqlConnection sqlCon = new SqlConnection(@"Data Source= DESKTOP-25V3I8O;Initial Catalog=ASPCRUD;Integrated Security=true");
DataTable dtbl = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnDelete.Enabled = false;
FillGridView();
}
}
protected void btnClear_Click(object sender, EventArgs e)
{
Clear();
}
public void Clear()
{
hfContactID.Value = "";
txtName.Text = txtMobile.Text = txtAddress.Text = txtPostcode.Text = "";
lblSuccessMessage.Text = lblErrorMessage.Text = "";
btnSave.Text = "Save";
btnDelete.Enabled = false;
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("ContactCreateOrUpdate", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@ContactID",(hfContactID.Value==""?0:Convert.ToInt32(hfContactID.Value)));
sqlCmd.Parameters.AddWithValue("@Name", txtName.Text.Trim());
sqlCmd.Parameters.AddWithValue("@Mobile", txtMobile.Text.Trim());
sqlCmd.Parameters.AddWithValue("@Address", txtAddress.Text.Trim());
sqlCmd.Parameters.AddWithValue("@Postcode", txtPostcode.Text.Trim());
sqlCmd.ExecuteNonQuery();
sqlCon.Close();
string ContactID = hfContactID.Value;
Clear();
if (ContactID=="")
lblSuccessMessage.Text = "Saved Successfully";
else
lblSuccessMessage.Text = "Updated Successfully";
FillGridView();
}
void FillGridView()
{
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
SqlDataAdapter sqlData = new SqlDataAdapter("ContactViewAll", sqlCon);
sqlData.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlData.Fill(dtbl);
sqlCon.Close();
gvContact.DataSource = dtbl;
gvContact.DataBind();
}
protected void lnk_OnClick(object sender, EventArgs e)
{
int ContactID = Convert.ToInt32((sender as LinkButton).CommandArgument);
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
SqlDataAdapter sqlData = new SqlDataAdapter("ContactViewByID", sqlCon);
sqlData.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlData.SelectCommand.Parameters.AddWithValue("@ContactID", ContactID);
sqlData.Fill(dtbl);
sqlCon.Close();
hfContactID.Value = ContactID.ToString();
txtName.Text = dtbl.Rows[0]["Name"].ToString();
txtMobile.Text = dtbl.Rows[0]["Mobile"].ToString();
txtAddress.Text = dtbl.Rows[0]["Address"].ToString();
txtPostcode.Text = dtbl.Rows[0]["Postcode"].ToString();
btnSave.Text = "Update";
btnDelete.Enabled = true;
}
protected void btnDelete_Click(object sender, EventArgs e)
{
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("ContactDeleteByID", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("ContactID", Convert.ToInt32(hfContactID.Value));
sqlCmd.ExecuteNonQuery();
sqlCon.Close();
Clear();
FillGridView();
lblSuccessMessage.Text = "Deleted Successfully";
}
protected void ExportDataTableToCSV()
{
Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("content-disposition", "attachment;filename=UserDetails.csv");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dtbl.Columns.Count; i++)
{
sb.Append(dtbl.Columns[i].ColumnName + ',');
}
sb.Append(Environment.NewLine);
for (int j = 0; j < dtbl.Rows.Count; j++)
{
for (int k = 0; k < dtbl.Columns.Count; k++)
{
sb.Append(dtbl.Rows[j][k].ToString() + ',');
}
sb.Append(Environment.NewLine);
}
Response.Write(sb);
Response.Flush();
Response.End();
}
protected void btnExport_Click(object sender, EventArgs e)
{
ExportDataTableToCSV();
}
}
使用系统;
使用System.Collections.Generic;
使用系统数据;
使用System.Data.SqlClient;
使用System.IO;
使用System.Linq;
使用系统文本;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
公共部分类联系人:System.Web.UI.Page
{
SqlConnection sqlCon=newsqlconnection(@“数据源=DESKTOP-25V3I8O;初始目录=ASPCRUD;集成安全性=true”);
DataTable dtbl=新DataTable();
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
btnDelete.Enabled=false;
FillGridView();
}
}
受保护的无效btnClear\u单击(对象发送方,事件参数e)
{
清除();
}
公共空间清除()
{
hfContactID.Value=“”;
txtName.Text=txtMobile.Text=txtdaddress.Text=txtPostcode.Text=”“;
lblSuccessMessage.Text=lblErrorMessage.Text=“”;
btnSave.Text=“保存”;
btnDelete.Enabled=false;
}
受保护的无效btnSave\u单击(对象发送方,事件参数e)
{
if(sqlCon.State==ConnectionState.Closed)
sqlCon.Open();
SqlCommand sqlCmd=新的SqlCommand(“ContactCreateOrUpdate”,sqlCon);
sqlCmd.CommandType=CommandType.StoredProcess;
sqlCmd.Parameters.AddWithValue(“@ContactID”,hfContactID.Value==”?0:Convert.ToInt32(hfContactID.Value));
sqlCmd.Parameters.AddWithValue(“@Name”,txtName.Text.Trim());
sqlCmd.Parameters.AddWithValue(“@Mobile”,txtMobile.Text.Trim());
sqlCmd.Parameters.AddWithValue(“@Address”,txtAddress.Text.Trim());
sqlCmd.Parameters.AddWithValue(“@Postcode”,txtPostcode.Text.Trim());
sqlCmd.ExecuteNonQuery();
sqlCon.Close();
字符串ContactID=hfContactID.值;
清除();
如果(ContactID==“”)
lblSuccessMessage.Text=“保存成功”;
其他的
lblSuccessMessage.Text=“更新成功”;
FillGridView();
}
void FillGridView()
{
if(sqlCon.State==ConnectionState.Closed)
sqlCon.Open();
SqlDataAdapter sqlData=新的SqlDataAdapter(“ContactViewAll”,sqlCon);
sqlData.SelectCommand.CommandType=CommandType.StoredProcess;
sqlData.Fill(dtbl);
sqlCon.Close();
gvContact.DataSource=dtbl;
gvContact.DataBind();
}
受保护的void lnk_OnClick(对象发送方,事件参数e)
{
int ContactID=Convert.ToInt32((发送者作为链接按钮).CommandArgument);
if(sqlCon.State==ConnectionState.Closed)
sqlCon.Open();
SqlDataAdapter sqlData=新的SqlDataAdapter(“ContactViewByID”,sqlCon);
sqlData.SelectCommand.CommandType=CommandType.StoredProcess;
sqlData.SelectCommand.Parameters.AddWithValue(“@ContactID”,ContactID);
sqlData.Fill(dtbl);
sqlCon.Close();
hfContactID.Value=ContactID.ToString();
txtName.Text=dtbl.Rows[0][“Name”].ToString();
txtMobile.Text=dtbl.Rows[0][“Mobile”].ToString();
txtAddress.Text=dtbl.Rows[0][“地址”].ToString();
txtPostcode.Text=dtbl.Rows[0][“Postcode”].ToString();
btnSave.Text=“更新”;
btnDelete.Enabled=true;
}
受保护的无效BTN删除\单击(对象发送者,事件参数e)
{
if(sqlCon.State==ConnectionState.Closed)
sqlCon.Open();
SqlCommand sqlCmd=新的SqlCommand(“ContactDeleteByID”,sqlCon);
sqlCmd.CommandType=CommandType.StoredProcess;
sqlCmd.Parameters.AddWithValue(“ContactID”,Convert.ToInt32(hfContactID.Value));
sqlCmd.ExecuteNonQuery();
sqlCon.Close();
清除();
FillGridView();
lblSuccessMessage.Text=“已成功删除”;
}
受保护的void ExportDataTableToCSV()
{
Response.Clear();
Response.ContentType=“text/csv”;
AddHeader(“内容处置”、“附件;文件名=UserDetails.csv”);
StringBuilder sb=新的StringBuilder();
for(int i=0;i
我的程序还有一个专为数据输入页面设计的页面。它包含
姓名
,地址
,手机
,以及邮政编码
。它有一个由系统自动生成的用户帐号。当您单击“导出”按钮时,会发生回发,您会丢失数据表的内容,因此只需尝试删除:
if (!IsPostBack)
因此,它将是:
protected void Page_Load(object sender, EventArgs e)
{
btnDelete.Enabled = false;
FillGridView();
}
下面是一个基于您的代码的工作示例:
DataTable table = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
}
protected void ExportDataTableToCSV()
{
Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("content-disposition", "attachment;filename=UserDetails.csv");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < table.Columns.Count; i++)
{
sb.Append(table.Columns[i].ColumnName + ',');
}
sb.Append(Environment.NewLine);
for (int j = 0; j < table.Rows.Count; j++)
{
for (int k = 0; k < table.Columns.Count; k++)
{
sb.Append(table.Rows[j][k].ToString() + ',');
}
sb.Append(Environment.NewLine);
}
Response.Write(sb);
Response.Flush();
Response.End();
}
protected void btnExport_Click(object sender, EventArgs e)
{
ExportDataTableToCSV();
}
DataTable=newdatatable();
受保护的无效页面加载(对象发送方、事件参数e)
{
表.列.添加(“剂量”,类型(int));
表.列.添加(“药物”,类型(字符串));
表.列.添加(“患者”,类型(字符串));
表.列.添加(“日期”,类型(日期时间));
//这里我们添加五个数据行。
表.Rows.Add(25,“Indocin”,“David”,DateTime.Now);
添加(50,“Enebrel”,“Sam”,DateTime.Now);
表.Rows.Add(10,“Hydrazine”,“Christoff”,DateTime.Now);
表.行.添加(21,“