1. winform导入excel到数据库
由于winForm的bin目录总是把数据库文件一同生成,所以刚开始我以为无法修改Access
其实是可以修改的,你把程序发布后,就知道了。
下面是我的一个项目总结:
源码下载:
一直做webForm,今天有机会做一个winForm的小项目,一直用mssql,今天使用了一个Access.
有一些知识点需要总结一下。
关于Access
1.由于winForm的bin目录总是把数据库文件一同生成,所以刚开始我以为无法修改Access
2.Access的数据库连接的形式。
3.Access的加密方法,新建的时候,可以直接设置密码,如果后来想加密,需要先打开Access
然后,文件->打开->选择独占方式打开。
4.关于Access的禁用字段名问题,可以使用[字段名]来避免,我也忘了是哪个字段名。
关于SqlHelper
对于小项目,我只使用了两个方法,一个执行sql语句,一个返回DataSet,关于全部使用字符串拼接。
构造where语句的方法
if (this.txtQuerySchool.Text != "")
where += "school like '%" + txtQuerySchool.Text + "%' and ";//每个后面加and
where += "id>0";//为了接上and
winForm的一些小技巧
1.设置tabIndex,可以使用tab键快捷切换。
2.winForm关闭一个窗口与打开一个窗口
this.Hide();//这里只是隐藏,如果关闭是this.Close();
FrmMain frmMain = new FrmMain();
frmMain.Show();
3.在Load事件设置默认按钮
private void FrmLogin_Load(object sender, EventArgs e)
{
this.AcceptButton = btnLogin;
}
4.Dock属性,设置依靠,很有用。
5.tabControl的使用方法
设置tabPages
tabControl1.SelectedIndex = 3;
6.页面间传值,采用public static string AddName;
7.窗体关闭时自动退出程序
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
8.使用一个窗体做模态对话框
FrmConfirm frmConfirm = new FrmConfirm();
if (frmConfirm.ShowDialog() != DialogResult.OK)//这里只有两种选择
return;
模态对话框的退出
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
模态对话框的返回值
private void btnOk_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
DataGridView导出Excel,需要导入Com组件Microsoft Excel 11.0 Object Library
private void btnExport_Click(object sender, EventArgs e)
{
ExportDataGridView(dataGridView1, true);
}
private bool ExportDataGridView(DataGridView dgv, bool isShowExcel)
{
if (dgv.Rows.Count == 0)
return false;
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcel;
//生成字段名
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dgv.RowCount; i++)
{
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv[j, i].ValueType == typeof(string))//先列后行
{
excel.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
}
return true;
}
2. winform读取excel数据
40万行的数据,winform里面显示出来的肯定也只是一部分吧,用数据库导出比较好。不过数据多,用控件直接导出也可以的,只是要主要设置好超时时间。注意下要导出到excel2007及以上的版本。2003只支持65536行
3. winform添加数据到数据库
想用一个数据存储整个树,请将树转换为xml并存储,节点数据需要体现在xml内; 想要一条记录保存一个节点,请保存节点的FullPath属性值,该值在一棵树内是唯一的。
节点数据可以在其他列存储。 反过来,从数据库生成数。 xml转换成树很简单; 一堆节点拼接成一棵树需要分析其路径,可以将记录按FullPath字符串升序排序后依次生成节点并连结。4. winform导出excel数据
引用office11.0组件后, Microsoft.Office.Interop.Excel.Application application; //这是一个客户端Microsoft.Office.Interop.Excel.Workbooks workbooks; //所有工作薄Microsoft.Office.Interop.Excel.Worksheet worksheet;//工作表Microsoft.Office.Interop.Excel.Workbook workbook; //所用到的工作表 void IsRunEX(){ OpenFileDialog openfilediaglog = new OpenFileDialog();openfilediaglog.Filter = "xls文件|*.xls";if (openfilediaglog.ShowDialog() == DialogResult.OK){FieldName = openfilediaglog.FileName;application = new Microsoft.Office.Interop.Excel.Application();workbooks = application.Workbooks;workbook = returnworkbook(FieldName, workbooks);worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1]; //选择第一个表
5. 将excel数据导入数据库
1、打开SQL Server 2014 Management Studio 数据库,并且登录进去;
2、新建一个数据库,将excel导入,在新建的数据名字上,鼠标右键,选择任务选项,之后导入数据,就会看到导入excel文件的窗口;
3、下拉框选中Microsoft Excel,浏览添加你需要导入到数据库的excel文件,然后点击下一步;
4、下拉框选中sql开头的,验证方式自己选择,一般是默认的验证方式,然后下面的数据库;
5、出现的这个页面不用动任何操作,直接继续点击下一步即可;
6、现在表示导入成功,上面有各类详细的数据,可以选择关闭,这个时候记得刷新数据库的表,否则看不到新导入的数据。
6. c#如何将excel文件内容导入到数据库中
我知道的有三种方法:
1、如果数据量不大且没有大对象(图片,文件什么的)且使用pl/sql developer做oracle管理工具的话,可以直接复制粘贴,操作方法是先按照列的先后顺序把EXCEL中数据排好,在第一个字段前面加一空白列(这部很重要,否则字段就会不对应了),pl/sql developer中执行下select * from 表名 for update,使得你的表可以编辑,然后点一下像锁一样的那个图标(鼠标放上去会显示编辑数据四个字),复制excel中的数据(包括空白列),最后直接在表中空白行的地方粘贴就行了,操作很简单。
2、使用外部程序编程实现,如c#,java,以c#为例,先将excel解析成datatable,然后逐行遍历入库即可。
3、使用工具XlsToOra.exe,只要配置一下登陆进去后,设置一下导入的表名,列与excel中列的对应关系就可以导入了。
4、可以将excel转换成csv文件再利用文本导入器(工具-文本导入器)导入即可。 以上是个人使用过的一些方法, 难免有不完美之处,欢迎指正探讨^_^
7. winform导出excel
if (MessageBox.Show(this, "是否打开文件?", "打开", MessageBoxButtons.YesNo) == DialogResult.Yes){ System.Diagnostics.Process.Start(@"D:\test.xls");//其中 D:\test.xls 为导出文件的路径}
8. C#winform窗口中如何导入Excel
使用DSOFramer控件。去年我做过一个项目,就是用这个控件来操作Excel文件的。用它也可以操作word文档。如果不喜欢这个控件,可以使用浏览器控件如WebBroswer来嵌入网页版的word控件。
最后一个方式当然就是操作office的COM接口,不过这个略显复杂。
9. 系统导入excel数据
独立的excel文档叫做工作簿。跨簿引用要加路径,双簿打开时,点下被引用工作簿的单元格,路径就过来了,然后改一下,关闭以后会显示全路径,例如=VLOOKUP(A2,'D:\Users\Administrator\Desktop\[234.xlsx]Sheet2'!$A:$B,2,0)
- 相关评论
- 我要评论
-