C#链接Excel , sql
来源:互联网 发布:航模电调编程 编辑:程序博客网 时间:2024/05/16 13:03
这是以我课程设计为背景写哒博客。
先用火车采集器把数据从相应网站上爬下来,(电商网站一般都不让爬,所以网站选择比较困难),我做的项目是旅游调查,所以我爬了途牛。
然后爬下来之后右键项目有一个打开文件夹,有一个.db3文件,采集下来的数据都在这个文件里,但是这个文件需要下载特殊的软件才能打开,一般是用sqlite,我用的database。(打开之后是左边一列的目录,要自己用查询语句写内容的)
然后就可以全选表格导出到Excel了,默认文件名为Content.xlse。
然后打开VS2013,新建一个C#的demo,简单布局一下。(我要实现的是,输入出发地和目的地,点击查询可以在下面列表获得相应的旅游线路)
C#链接Excel的主要代码:
(其中
string strConnect = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + excelFilePath + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";这个要看具体的版本,还有可能是缺损了一个安装包,可以百度一下报错的信息,就可以下载那个安装包了)
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 demo{ public partial class Form1 : Form { string excelFilePath = "Content.xlsx"; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } public DataTable readExcel(string excelFilePath) { try { string strConnect = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + excelFilePath + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; OleDbConnection oleDbConnect = new OleDbConnection(strConnect); oleDbConnect.Open(); string sql = "SELECT * FROM [Sheet1$] WHERE 出发地 = '" + textBoxStart.Text + "'AND 目的地='" + textBoxEnd.Text + "'"; OleDbDataAdapter oleDaExcel = new OleDbDataAdapter(sql, oleDbConnect); DataSet oleDsExcel = new DataSet(); oleDaExcel.Fill(oleDsExcel, "Sheet1"); oleDbConnect.Close(); return oleDsExcel.Tables["Sheet1"]; } catch (Exception e) { MessageBox.Show("数据绑定Excel失败,失败原因:" + e.Message); return null; } } public void selectExcel() { try { if (textBoxStart.Text != "" ) { DataTable dt; dt = readExcel(excelFilePath); dataGridView1.DataSource = dt; } } catch (System.Exception ex) { MessageBox.Show("数据筛选Excel失败,失败原因:" + ex.Message); } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { selectExcel(); } private void buttonOK_Click(object sender, EventArgs e) { OpenFileDialog openExcel = new OpenFileDialog(); openExcel.InitialDirectory = @""; openExcel.Filter = "Excel文件|*.xlsx|Excel文件|*.xls"; openExcel.Title = "打开Excel文件"; if (openExcel.ShowDialog() == DialogResult.OK) { excelFilePath = openExcel.FileName;//获得文件的全路径 DataTable dt; dt = readExcel(excelFilePath); dataGridView1.DataSource = dt; } else { MessageBox.Show("Excel 文件读取失败 "); } } }}
然后用sql链接C#,这个代码比Excel简单多了,但是问题在于sql本身的配置,我的sql是2016的,一开始不作任何处理时,C#报错是“访问服务器失败,请打开远程连接balabala...”,然后我百度了一下要打开很多东西。
先找到配置管理器,把所有协议都启用。(客户端协议,SQLEXPRESS的协议,客户端协议都要)
C#链接数据库主要代码:
(其中
String connsql = "server=服务器名称;database=数据库名称;integrated security=SSPI";)
private void buttonOK_Click(object sender, EventArgs e) { String connsql = "server=DESKTOP-9DAE121\\SQLEXPRESS;database=lzy;integrated security=SSPI"; // 数据库连接字符串,database设置为自己的数据库名,以Windows身份验证 try { using (SqlConnection conn = new SqlConnection()) { conn.ConnectionString = connsql; conn.Open(); // 打开数据库连接 string sql = "SELECT * FROM travel WHERE 出发地 = '" + textBoxStart.Text + "'AND 目的地='" + textBoxEnd.Text + "'"; // 查询语句 SqlDataAdapter myda = new SqlDataAdapter(sql, conn); // 实例化适配器 DataTable dt = new DataTable(); // 实例化数据表 myda.Fill(dt); // 保存数据 dataGridView1.DataSource = dt; // 设置到DataGridView中 conn.Close(); // 关闭数据库连接 } } catch (Exception ex) { MessageBox.Show("错误信息:" + ex.Message, "出现错误"); } }
※ 我sql的数据是用Excel导入的,具体步骤如下:
1.先在sql里新建表,输入变量,(和Excel第一行的列标题相同)
2.右键数据库-任务-导入数据,然后会有一系列的指导操作。
这里选择Excel版本,可能会缺损安装包,和之前Excel导入到C#的时候一样。
3.下一步,选择导入到数据库。
4.下一步
5.勾选要导入的表,然后点击预览就可以看到啦。
以上就是所有步骤啦,C#完成后的效果还是挺好的。
阅读全文
0 0
- C#链接Excel , sql
- C# 链接 sql数据库
- C#链接SQL知识点
- c# 链接sql server
- Excel--->SQL---->C#
- c#链接sql server数据库
- sql 创建链接服务器(excel)
- C# Excel导入SQL数据库
- C#链接Sql Server的Sql Helper
- C# 链接sql数据库通用类库
- C#中sql的链接语句大全
- 浅谈C#链接SQL server 数据库问题。
- C#与SQL数据库的链接
- SQL数据库链接C#的Application
- C#实现 Excel导入Sql数据库
- C# 导入EXCEL到sql server数据库
- C# 导入EXCEL到sql server数据库
- C#读取excel数据到SQL server
- HttpClient 处理中文乱码
- JAVA微信公众号调用扫一扫功能开发
- 蓝桥杯训练:算法提高 高精度加法
- 侧拉菜单点击跳转
- 轮播加点
- C#链接Excel , sql
- win10如何安装本地策略组
- 牛客算法--第九章
- 关于集合追加写入文件中,会重复前面的内容的解决
- 布局 drawable
- java蓝桥杯试题特殊回文字
- SSH整合Axis2
- ubuntu下如何正确使用vim编辑器
- 75个顶级开源安全应用