C# 实现Excel文件高效上传与数据导入
这段C#代码提供了一个功能,用于将Excel文件中的数据上传到HR_Emp_Info_input数据库表中。方法`ImportData`执行了以下关键步骤: 1. **获取用户信息**:首先,变量`_userName`和`_userInfo`用于存储用户的用户名和详细信息。 2. **检查文件类型**:函数检查请求文件是否为`.xls`或`.xlsx`格式。如果不是,返回错误消息,提示文件类型不正确。 3. **读取并转换Excel数据**:如果文件是支持的格式,通过`ExcelToDataTable`方法将Excel文件内容转换成`DataTable`对象,`dt`。 4. **数据库连接和事务处理**:创建一个新的`SqlConnection`对象,并打开连接。同时,开始一个`SqlTransaction`来管理数据库操作,确保数据一致性。 5. **删除旧数据**:在事务开始前,使用`SqlCommand`执行一条SQL语句(`delete from HR_Emp_Info_input`)以清除表中的所有数据。 6. **插入新数据**:遍历`DataTable`中的每一行,构建SQL `INSERT`语句,将数据逐条插入HR_Emp_Info_input表的相应字段中。 7. **执行SQL命令**:对于每一行数据,创建一个新的`SqlCommand`,设置其连接、事务以及SQL命令,然后执行`ExecuteNonQuery()`方法完成数据插入。 8. **事务提交与关闭**:如果所有数据插入成功,提交事务;否则回滚事务。最后关闭数据库连接。 这个C#代码片段可以作为Excel数据上传的基础框架,适用于需要定期或一次性导入大量结构化数据的应用场景,例如员工信息管理或者数据分析系统。开发者可以根据实际需求调整表名、字段名和数据处理逻辑。
{
string um = _userName;
string ui = _userInfo;
if (!string.IsNullOrEmpty(_userInfo))
{
var file = _context.Request.Files[0];
if (file.FileName.IndexOf(".xls") < 0 && file.FileName.IndexOf(".xlsx") < 0)
{
ContextResponse(false, "上传文件格式不正确");
}
else
{
DataTable dt = ExcelToDataTable(file, true);
SqlConnection con = new SqlConnection(DbHelperSQL.connectionString);
con.Open();
SqlTransaction trans = con.BeginTransaction();//事物对象
try
{
SqlCommand com = new SqlCommand();//数据操作对象
com.Connection = con;//指定连接
com.Transaction = trans;//指定事物
string sqld = "delete from HR_Emp_Info_input";
com.CommandText = sqld;
com.ExecuteNonQuery();//执行该行
string sql = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
sql = "insert into HR_Emp_Info_input(Emp_No,Emp_CH_Name,Emp_EN_Name,Emp_Dept_Code,Hr_Center,Hr_Division,Hr_Department,Hr_Section) values ('" +
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展