代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
Excel导入数据到GridView的类
作者:
http://nbagame.blogbus.com/logs/36655767.html
/ 发布于
2011/5/4
/
618
<div>public class DataUtil { public DataUtil() { } #region 导入数据到GridView /// <summary> /// 导入数据到GridView /// </summary> /// <param name="fileName">源Excel文件</param> /// <param name="gridview">目标GridView</param> /// <param name="keyColIndex">导入主键列</param> /// <param name="rtnMsg">返回消息</param> /// <returns>返回没有导入的数据DataSet</returns> public static DataSet ExcelToGridView(string fileName, GridView gridview, int keyColIndex,string rtnMsg) { DataSet ds = null ; string errMsg = string.Empty; try { if ( ! fileName.EndsWith(".xls")) { errMsg += "只能导入Excel格式的文件。"; } ds = ExcelHelper.ExcelToDS(fileName); DataTable dt = ds.Tables[0]; for (int i = 0; i < gridview.Rows.Count; i++) { if (gridview.Rows[i].RowType != DataControlRowType.DataRow) { continue; } string key = gridview.Rows[i].Cells[keyColIndex].Text; if (String.IsNullOrEmpty(key)) { continue; } int k = 0; for (; k < dt.Rows.Count; k++) { if (dt.Rows[k][gridview.Columns[keyColIndex].HeaderText].ToString().Replace(" ", "").Replace(" ", "") == key) { break; } } if (k == dt.Rows.Count) { continue; } else { for (int j = 0; j < gridview.Columns.Count; j++) { if (gridview.Columns[j].Visible == false) { continue; } if (gridview.Rows[i].Cells[j].Controls.Count == 0) { continue; } for (int m = 0; m < gridview.Rows[i].Cells[j].Controls.Count; m++) { if (gridview.Rows[i].Cells[j].Controls[m].Visible == false) { continue; } if (gridview.Rows[i].Cells[j].Controls[m] is TextBox) { if (!dt.Columns.Contains(gridview.Columns[j].HeaderText)) { continue; } TextBox txt = gridview.Rows[i].Cells[j].Controls[m] as TextBox; string temp = dt.Rows[k][gridview.Columns[j].HeaderText].ToString(); try { // int intTemp = int.Parse(temp); // txt.Text = intTemp.ToString(); txt.Text = temp; //Translate(temp); } catch (Exception) { } break; } } } dt.Rows[k].Delete(); dt.AcceptChanges(); } } } catch (Exception ex) { errMsg +="导入失败." + ex.Message ; } rtnMsg = errMsg; return ds; } /// <summary> /// 导入数据到GridView /// </summary> /// <param name="fileUpload">文件上传控件对象</param> /// <param name="filePath">要存放文件的服务器路径</param> /// <param name="gridview">目标GridView</param> /// <param name="keyColIndex">用于导入的主键列</param> /// <returns>返回没有导入的数据DataSet</returns> public static DataSet ExcelToGridView(FileUpload fileUpload, string filePath, GridView gridview, int keyColIndex, string strMsg) { string errMsg = string.Empty; DataSet ds = null ; try { if ( ! filePath.EndsWith("\\")) { filePath += "\\"; } string fileName = fileUpload.FileName.Replace(".xls", "") + "_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls"; string fullFileName = filePath + fileName; fileUpload.SaveAs(fullFileName); ds = ExcelToGridView(fullFileName, gridview, keyColIndex,errMsg); if ( errMsg != string.Empty) { errMsg += "将数据导入GridView失败." + errMsg ; }; } catch (Exception ex) { errMsg += "上传excel文件失败." ; } strMsg = errMsg; return ds ; } #endregion /// <summary> /// 选定主键列后,用这方法将重复行用黄色背景标志 /// </summary> /// <param name="gridview">目标GridView</param> /// <param name="keyColIndex">导入主键列</param> public static void MarkRepetitionRows(GridView gridView, int keyColIndex) { for (int i = 0; i < gridView.Rows.Count; i++) { for (int j = i + 1; j < gridView.Rows.Count; j++) { if (gridView.Rows[i].Cells[keyColIndex].Text == gridView.Rows[j].Cells[keyColIndex].Text) } } </div>
试试其它关键字
导入数据
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
http://nbagame.blogbus.com/logs/36655767.html
贡献的其它代码
(
1
)
.
Excel导入数据到GridView的类
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3