我正在开发一个应用程序,我必须从Excel工作表中获取电子邮件ID,并向每个ID发送一封电子邮件。我试图在网格中显示电子邮件ID作为测试。我的应用程序没有抛出任何错误,但它没有以所需的方式执行。
任何人都可以帮忙弄明白为什么会这样吗?
答案 0 :(得分:1)
看看这个将Excel绑定到GridView的代码:
http://www.shiningstar.net/ASPNet_Articles/DataSet/DataSetProject5.aspx
它可能为您提供中性测试安全带。没有您的代码和电子表格,很难说出问题所在。
答案 1 :(得分:1)
以下链接显示了如何从Excel工作表中的所需单元格中提取数据,而不是将整个Excel工作表绑定到网格:
http://social.msdn.microsoft.com/Forums/en/vsto/thread/b6e8a28c-6760-4e86-a1aa-e2ce9ec36380
您也可以使用所选值填充DataTable,然后使用该DataTable填充DataGrid。
答案 2 :(得分:0)
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Excel.Application appExl;
Excel.Workbook workbook;
Excel.Worksheet NwSheet;
Excel.Range ShtRange;
appExl = new Excel.Application();
/ /Opening Excel file
workbook = appExl.Workbooks.Open(Server.MapPath("firstexcel.xlsx"));
NwSheet = (Excel.Worksheet)workbook.Sheets.get_Item(1);
int Cnum = 0;
int Rnum = 0;
ShtRange = NwSheet.UsedRange;
//Reading Excel file.
//Creating datatable to read the containt of the Sheet in File.
DataTable dt = new DataTable();
dt.Columns.Add("EMP NO");
dt.Columns.Add("NAME");
dt.Columns.Add("AGE");
dt.Columns.Add("PHN NO");
dt.Columns.Add("EMAIL");
for (Rnum = 2; Rnum <= ShtRange.Rows.Count; Rnum++)
{
DataRow dr = dt.NewRow();
//Reading Each Column value From sheet to datatable
for (Cnum = 1; Cnum <= ShtRange.Columns.Count; Cnum++)
{
dr[Cnum - 1] = (ShtRange.Cells[Rnum, Cnum] as Excel.Range).Value2.ToString();
}
// adding Row into DataTable
dt.Rows.Add(dr);
dt.AcceptChanges();
}
workbook.Close(true);
appExl.Quit();
//DataSource to GrigView
gvOne.DataSource = dt;
gvOne.DataBind();
}
}