.net 用npoi 怎么实现excel内数据导入到gridview?
选择excel文件---》点击button按钮导入---》excel数据显示在datagrid内...
选择excel文件 ---》点击button按钮导入---》excel数据显示在datagrid内
展开
1个回答
推荐于2016-10-03
展开全部
DataTable table = new DataTable();
using (FileStream fs = File.OpenRead(path)) //打开myxls.xls文件
{
HSSFWorkbook wk = new HSSFWorkbook(fs); //把xls文件中的数据写入wk中
ISheet sheet = wk.GetSheetAt(0); //读取当前表数据
for (int j = 1; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j); //读取当前行数据
DataRow dataRow = table.NewRow();
if (row != null)
{
for (int k = 0; k <= row.LastCellNum; k++) //LastCellNum 是当前行的总列数
{
ICell cell = row.GetCell(k); //当前表格
if (cell != null)
{
if (k == (row.LastCellNum-1))
{
dataRow[k] = row.GetCell(k).DateCellValue.ToString();
}
else
{
dataRow[k] = row.GetCell(k).ToString();
}
}
}
table.Rows.Add(dataRow);
}
}
}
return table;
//以上是核心代码,完成了返回DataTable
更多追问追答
追问
能不能把按钮那下面的代码也写出来?我初学想搞明白些 非常感谢
追答
protected void btnRead_Click(object sender, EventArgs e)
{
try
{
string s = "";
HttpPostedFile file = this.fileSelect.PostedFile;
string fileName = file.FileName;
string tempPath = System.IO.Path.GetTempPath(); //获取系统临时文件路径
fileName = System.IO.Path.GetFileName(fileName); //获取文件名(不带路径)
this.currFileExtension = System.IO.Path.GetExtension(fileName); //获取文件的扩展名
this.currFilePath = tempPath + fileName; //获取上传后的文件路径 记录到前面声明的全局变量
file.SaveAs(this.currFilePath); //上传
label1.InnerHtml = "开始上传,请勿关闭页面";
DataTable dt = Upload(this.currFilePath); //上传文件方法
......
}catch{}
}
//倒数第三句DataTable dt = Upload(this.currFilePath); 就是接上边的那段核心代码,直//观一点
//表示就是如下:
private DataTable Upload(string path)
{
上边的核心代码
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询