博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 将excel与SQL数据交换
阅读量:5080 次
发布时间:2019-06-12

本文共 2312 字,大约阅读时间需要 7 分钟。

    
protected
 
void
 btnImport_Click(
object
 sender, EventArgs e)
    {
        
if
 (FileUpload1.HasFile 
==
 
false
)
//
HasFile用来检查FileUpload是否有指定文件
        {
            Response.Write(
"
<script>alert('请您选择Excel文件')</script> 
"
);
            
return
;
//
当无文件时,返回
        }
        
string
 IsXls 
=
 System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
//
System.IO.Path.GetExtension获得文件的扩展名
        
if
 (IsXls 
!=
 
"
.xls
"
)
        {
            Response.Write(
"
<script>alert('只可以选择Excel文件')</script>
"
);
            
return
;
//
当选择的不是Excel文件时,返回
        }
        
string
 filename 
=
 FileUpload1.FileName;              
//
获取Execle文件名  DateTime日期函数
        
string
 savePath 
=
 Server.MapPath((
"
upfiles\\
"
+
 filename);
//
Server.MapPath 获得虚拟服务器相对路径
        FileUpload1.SaveAs(savePath);                        
//
SaveAs 将上传的文件内容保存在服务器上
        DataSet ds 
=
 ExcelSqlConnection(savePath, filename);           
//
调用自定义方法
        DataRow[] dr 
=
 ds.Tables[
0
].Select();            
//
定义一个DataRow数组
        
int
 rowsnum 
=
 ds.Tables[
0
].Rows.Count;
        
if
 (rowsnum 
==
 
0
)
        {
            Response.Write(
"
<script>alert('Excel表为空表,无数据!')</script>
"
);   
//
当Excel表为空时,对用户进行提示
        }
        
else
        {
            
for
 (
int
 i 
=
 
0
; i 
<
 dr.Length; i
++
)
            {
                
//
前面除了你需要在建立一个“upfiles”的文件夹外,其他的都不用管了,你只需要通过下面的方式获取Excel的值,然后再将这些值用你的方式去插入到数据库里面
                
string
 title 
=
 dr[i][
"
标题
"
].ToString();
                
string
 linkurl 
=
 dr[i][
"
链接地址
"
].ToString();
                
string
 categoryname 
=
 dr[i][
"
分类
"
].ToString();
                
string
 customername 
=
 dr[i][
"
内容商
"
].ToString();
                
                
//
Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
            }
            Response.Write(
"
<script>alert('Excle表导入成功!');</script>
"
);
        }
    }
    
#region
 连接Excel  读取Excel数据   并返回DataSet数据集合
    
///
 
<summary>
    
///
 连接Excel  读取Excel数据   并返回DataSet数据集合
    
///
 
</summary>
    
///
 
<param name="filepath">
Excel服务器路径
</param>
    
///
 
<param name="tableName">
Excel表名称
</param>
    
///
 
<returns></returns>
    
public
 
static
 System.Data.DataSet ExcelSqlConnection(
string
 filepath, 
string
 tableName)
    {
        
string
 strCon 
=
 
"
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
"
 
+
 filepath 
+
 
"
;Extended Properties='Excel 8.0;HDR=YES;IMEX=1'
"
;
        OleDbConnection ExcelConn 
=
 
new
 OleDbConnection(strCon);
        
try
        {
            
string
 strCom 
=
 
string
.Format(
"
SELECT * FROM [Sheet1$]
"
);
            ExcelConn.Open();
            OleDbDataAdapter myCommand 
=
 
new
 OleDbDataAdapter(strCom, ExcelConn);
            DataSet ds 
=
 
new
 DataSet();
            myCommand.Fill(ds, 
"
[
"
 
+
 tableName 
+
 
"
$]
"
);
            ExcelConn.Close();
            
return
 ds;
        }
        
catch
        {
            ExcelConn.Close();
            
return
 
null
;
        }
    }
    
#endregion

转载于:https://www.cnblogs.com/kongchuxing/archive/2011/05/05/2037413.html

你可能感兴趣的文章
内存管理 浅析 内存管理/内存优化技巧
查看>>
hiho1079 线段树区间改动离散化
查看>>
【BZOJ 5222】[Lydsy2017省队十连测]怪题
查看>>
第二次作业
查看>>
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>
Json格式的字符串转换为正常显示的日期格式
查看>>
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>