class ExcelCtrl
{
#region 将DataGridView控件中数据导出到Excel
/// <summary>
/// 将DataGridView控件中数据导出到Excel
/// </summary>
/// <param name="gridView">DataGridView对象</param>
/// <param name="isShowExcle">是否显示Excel界面</param>
/// <returns></returns>
public bool ExportDataGridview(DataGridView gridView, bool isShowExcle,string path)
{
if (gridView.Rows.Count == 0)
return false;
//建立Excel对象
Excel.Application excel = new Excel.Application();
Excel.Workbook myWorkBook=excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;
//生成字段名称
for (int i = 0; i < gridView.ColumnCount; i++)
{
excel.Cells[1, i + 1] = gridView.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < gridView.Rows.Count - 1; i++)
{
for (int j = 0; j < gridView.Columns.Count; j++)
{
if (gridView[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = gridView[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = gridView[j, i].Value.ToString();
}
}
}
object missing = System.Reflection.Missing.Value;
excel.ActiveWorkbook.Saved = true;
excel.ActiveWorkbook.SaveAs(path,
Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel9795,
missing, missing, false,
false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
myWorkBook.Close(missing, missing, missing);
myWorkBook = null;
excel.Quit();
return true;
}
#endregion
#region 将DataGridView控件中数据导出到Excel,excel格式本身就可以充当数据库,所以我以这种方式进行查询读取
public DataTable ImportExcel(string path)
{
string Connecstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path
+ ";Extended Properties='Excel 8.0;HDR=YES; IMEX=1'";
OleDbConnection Con = new OleDbConnection(Connecstr);
Con.Open();
string strCommand = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(strCommand, Con);
DataSet DS = new DataSet();
adapter.Fill(DS, "[Sheet1$]");
DataTable dt=DS.Tables[0];
Con.Close();
return dt;
}
#endregion
}
这几天在做一个党校考试系统,发现需要这个,网上很多的导入导出的源码要么就是打开了excel不关闭,要么就是转换成的excel的格式不是标准的格式,导致导入的时候出现文件不匹配的问题,所以我把我写的一套导入导出的源码和大家分享一下,希望大家喜欢
分享到:
相关推荐
C# 从Excel导入数据到DataGridView、SqlServer,C# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到...
c# WinForm 从Excel 导入到DataGridView 源码
C# excel数据导入 DataGridView
将excel内容导入到datagridview
C#Excel 数据导入DataGridView
C# Excel导入导出到DataGridView 在DataGridView中直接编辑保存Excel C#导入。导出。还有类库。。。
由Excel文件导入到数据库 导入到DATAGRIDVIEW
C# Excel 导入 DataGridView
C# 导入excel到datagridview 在项目引用NuGet中安装Microsoft.Office.Interop.Excel
将指定的excel导入至dataGridView显示,修改完成后保存至本地。
c# 快速导入Excel显示在dataGridview
C# 操作datagridview对excel的导入导出并实现打印功能,已经写好的函数,传入datagridview即可生成excel。方便调用。
C#实现Excel信息导入DataGridView中显示。
自己写的方法,导入常规格式的Excel,循环列单元格内容为空则结束循环
利用C#.Winfrom编程实现导入excel数据到DataGridView及Access中,我的程序时用VS.NET2008写的,里面附带了一个数据库及导入的excel文件,程序有不足之处请大家原谅!有问题的请在CSDN上给我留言。
c#实现从数据库展示到DataGridView中,并通过按钮导出到Excel表格,同时也可以通过按钮将Excel数据导入到数据库中
C#软件源码\读取Excel 2007数据到DataGridView源代码
在Winfrom程序中导入excel到dataGridView的方法,点按钮,引出选择excel文件打开,将excel文件内容通过OleDbConnection读出来,然后绑定到dataGridView上
Excel导入DataGridView和SQL_带进度条, 测试可用,使用Microsoft.Office.Interop.Excel导出
在c#数据源控件的DataGridView中,将DataGridView中的数据导入到Excel,注意是把所有的数据都导入到Excel,包括头部。。。。。。