关键词:
- 其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别。
private void btnShow_Click(object sender, EventArgs e) { OpenFileDialog fd = new OpenFileDialog();//首先根据打开文件对话框,选择excel表格 fd.Filter = "表格|*.xls";//打开文件对话框筛选器 string strPath;//文件完整的路径名 if (fd.ShowDialog() == DialogResult.OK) { try { strPath = fd.FileName; string strCon = "provider=microsoft.jet.oledb.4.0;data source=" + strPath + ";extended properties=excel 8.0";//关键是红色区域 OleDbConnection Con = new OleDbConnection(strCon);//建立连接 string strSql = "select * from [Sheet1$]";//表名的写法也应注意不同,对应的excel表为sheet1,在这里要在其后加美元符号$,并用中括号 OleDbCommand Cmd = new OleDbCommand(strSql, Con);//建立要执行的命令 OleDbDataAdapter da = new OleDbDataAdapter(Cmd);//建立数据适配器 DataSet ds = new DataSet();//新建数据集 da.Fill(ds, "shyman");//把数据适配器中的数据读到数据集中的一个表中(此处表名为shyman,可以任取表名) //指定datagridview1的数据源为数据集ds的第一张表(也就是shyman表),也可以写ds.Table["shyman"] dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message);//捕捉异常 } } }
运行结果如下:
2.导出DataGridView中的数据到Excel的方法:
public void ToExcel(DataGridView dataGridView1) { try { //没有数据的话就不往下执行 if (dataGridView1.Rows.Count == 0) return; //实例化一个Excel.Application对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写 excel.Visible = true; //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错 excel.Application.Workbooks.Add(true); //生成Excel中列头名称 for (int i = 0; i < dataGridView1.Columns.Count; i++) { if (this.dataGridView1.Columns[i].Visible==true) { excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText; } } //把DataGridView当前页的数据保存在Excel中 for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { System.Windows.Forms.Application.DoEvents(); for (int j = 0; j < dataGridView1.Columns.Count; j++) { if (this.dataGridView1.Columns[j].Visible==true) { if (dataGridView1[j, i].ValueType == typeof(string)) { excel.Cells[i + 2, j + 1] = "'" + dataGridView1[j, i].Value.ToString(); } else { excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString(); } } } } //设置禁止弹出保存和覆盖的询问提示框 excel.DisplayAlerts = false; excel.AlertBeforeOverwriting = false; //保存工作簿 excel.Application.Workbooks.Add(true).Save(); //保存excel文件 excel.Save("D:" + "\\KKHMD.xls"); //确保Excel进程关闭 excel.Quit(); excel = null; GC.Collect();//如果不使用这条语句会导致excel进程无法正常退出,使用后正常退出 MessageBox.Show(this,"文件已经成功导出!","信息提示"); } catch (Exception ex) { MessageBox.Show(ex.Message, "错误提示"); } }
c#如何读取html格式的excel表格绑定到datatable中?求助大神!
...一种解决方法是用System.IO.File.ReadAllLines(FullName,Encoding.UTF8)读取为字符串数组,然后读取里面的字符串添加到dataTable中。有没有更好的方法?参考技术A读取Excel首先你在引用中得引用MicrosoftofficeExcel20**对应的dll文件,才能读取到Exc... 查看详情
c#解决读取excel混合文本类型,数据读取失败的解决方法
...-------------------------------------------------------------在导入Excel读取数据时,其中的一个字段保存的值有如下格式:"2011072014","20110Aad10","25124Adfa","例子asdfadf" 这样的混合了"字母/数字/中文"数据,在Excel表格中的前8条或前8+条数 查看详情
c#将datatable数据导出到excel表格中
publicFileResultGetExcelFile() { if(Session["beginDate"]!=null) 查看详情
如何使用 C# 读取 Excel 文件的数据?
】如何使用C#读取Excel文件的数据?【英文标题】:HowtoreaddataofanExcelfileusingC#?【发布时间】:2009-03-1806:08:10【问题描述】:如何使用C#读取Excel文件?我打开一个Excel文件进行阅读并将其复制到剪贴板以搜索电子邮件格式,但我不... 查看详情
使用 C# 读取 Excel 工作表,其中表格已合并单元格
】使用C#读取Excel工作表,其中表格已合并单元格【英文标题】:ReadingExcelSheetUsingC#WheretheTablehasMergedCells【发布时间】:2012-06-1417:12:00【问题描述】:我正在尝试使用C#读取包含一些合并单元格的Excel工作表。我在另一篇文章中读... 查看详情
从 C# 读取 Excel 文件
】从C#读取Excel文件【英文标题】:ReadingExcelfilesfromC#【发布时间】:2010-09-0603:52:11【问题描述】:是否有免费或开源库可以直接从C#程序读取Excel文件(.xls)?不需要太花哨,只需选择一个工作表并将数据读取为字符串即可。到目... 查看详情
c#调用oledbconnection类读取excel表格时,报错外部组件发生异常!
...导,谢谢!没有多少就给10分吧!谢谢了参考技术A//动态读取Excel表数据到DataSetDataSet excelDataSet = new DataSet();using (OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BOM.xlsx... 查看详情
用c#把word中的表格数据读取到xml文件
把word表格中的数据通过程序读取到XMl配置文件,表格数据庞大,分为子主表和子表,具体主表<XmlMapping>主表元素<XmlCollection>子表<XmlRow>子表元素</XmlRow></XmlCollection></XmlMapping>,希望大神能教教,我只会读... 查看详情
我无法在 c# 中使用 asp.net 从 Excel 文件中读取并存储到数据库中?
】我无法在c#中使用asp.net从Excel文件中读取并存储到数据库中?【英文标题】:IamnotabletoreadfromExcelfileandstoreintodatabaseusingasp.netinc#?【发布时间】:2012-11-1010:38:30【问题描述】:我这样做是为了阅读:privateboolwritetoven(stringxlspath)OleD... 查看详情
asp.net(c#)如何将查询到的数据导出excel表格?
...控件上.现在我想根据查询条件将查询到的数据导出到Excel表格中,每一步都要怎么做.能不能讲详细一点?采纳者追加100分!是用lable显示,不用其它控件显示你好,可以根据DataGrid将数据导出到excel的方法,原理都是一样的publicvoidExport... 查看详情
C# 无法从 Excel 电子表格中导入所有单元格
...遍历结果数据集时,似乎并非所有单元格都在那里。正在读取的Excel表有一些合并的单元格,我想知道这是否是问题所在。代码如下:privateDataS 查看详情
c#读取大数据量excel,60w行数据,该怎么处理
参考技术A不建议一次性读取,可以一行一行读取并处理 参考技术B使用openxml一行一行的读,不要一次性读到内存里面 参考技术C可以试着分页导出 查看详情
有没有办法像使用 C# 的 MS Office Excel 一样创建/读取 LibreOffice 电子表格?
】有没有办法像使用C#的MSOfficeExcel一样创建/读取LibreOffice电子表格?【英文标题】:Isthereawaytocreate/readaLibreOfficeSpreadsheetjustlikeMSOfficeExcelwithC#?【发布时间】:2011-07-1214:57:16【问题描述】:在一个创建excel文件的程序中,我想知道... 查看详情
c#怎么读取excel的数据
方法一:采用OleDB读取EXCEL文件:把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: 对于EXCEL中的表即sheet([sheet1$])如果不是固定的可以使用下面的方法得到参考技术A百度一下npoi 查看详情
c#程序,将数据从dataset导出到excel表格里的时间类型为啥显示成“#”号呢
...技术C把列拉开试试^_____^ 参考技术D因为没有拉开,你把表格拉大点看看本回答被提问者采纳 查看详情
用java怎么将excel表格数据导入到mysql数据库中
参考技术A现有poi读取到java里,然后通过java操作数据库把读取的内容插入到数据库里。 查看详情
excel导出插件
...10多个Excel表格或者更多来配置,一般会通过导出csv格式读取配置。本文提供导出Excel直接生成c#文件,对应数据直接生成结构体和数组,方便开发排错和简化重复写每个表格的读取配置方法。 导出效果 &nbs... 查看详情
c#用npoi读取excel数据到数据库中行的顺序乱怎么办?
privatevoidbutton4_Click(objectsender,EventArgse)stringfilepath=@"D:\temp1.xlsx";FileStreamfilestream=newFileStream(filepath,FileMode.OpenOrCreate,FileAccess.ReadWrite);//filestream.Position=0;XSSFWorkbookworkbook=newXSSFWorkbook(filestream);intsheetcount=workbook.Count;if(sheetcount&g... 查看详情