因为之前有一些中文字符,经过一些修改,现在不用之前的那种DLL文件也可以直接使用了,更新如下:
我这里用的是VS(2017)。首先大家新建一个Windows窗体应用程序,然后找到工具箱,在其中 加入一个 Butten按钮和一个DataGridVive按钮,就像我这样既可只能读取xls文件。
![](https://img-blog.csdn.net/20180522123328349?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NzkyMDYx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
如下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DemosExcel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public DataSet getData()
{
//打开文件
OpenFileDialog file = new OpenFileDialog();
file.Filter ="Excel(*.xls)| *.xls";
file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
file.Multiselect = false;
if (file.ShowDialog() == DialogResult.Cancel)
return null;
//判断文件后缀
var path = file.FileName;
string filesuffix = System.IO.Path.GetExtension(path);
if (string.IsNullOrEmpty(filesuffix))
return null;
using (DataSet ds = new DataSet())
{
//判断Excel文件时什么版本
string connString = "";
if (filesuffix == ".xls")
connString = "Provider = Microsoft.Jet.OLEDB.4.0;" + "Data Source =" + path + ";" + "; Extended Properties = \"Excel 8.0; HDR = YES; IMEX = 1 \"";
else
connString = "Provider = Microsoft.ACE.OLEDB.12.0;" + "Data Source ="+ path + ";" + "; Extended Properties = \"Excel 12.0; HDR = YES; IMEX = 1 \"";
//读取文件
string sql_select ="SELECT* FROM[Sheet1$]";
using(OleDbConnection conn = new OleDbConnection(connString))
using (OleDbDataAdapter cmd = new OleDbDataAdapter(sql_select,conn))
{
NewMethod1(conn);
cmd.Fill(ds);
}
if(ds == null || ds.Tables.Count |