导出:

        private void exportExcel()
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
Application.DoEvents();
Application.DoEvents();
this.gridControl1.ExportToXlsx(saveFileDialog1.FileName);
Application.DoEvents();
Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.Application();
appExcel.DisplayAlerts = false;
//DisplayAlerts 属性设置成 False,就不会出现这种警告。
Microsoft.Office.Interop.Excel.Workbook workbook = appExcel.Workbooks.Open(saveFileDialog1.FileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);//打开Excel Microsoft.Office.Interop.Excel.Sheets sheets = workbook.Worksheets;//实例表格
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets[1];//第一个表格
worksheet.Columns["A", Type.Missing].ColumnWidth = 14;
worksheet.Columns["B", Type.Missing].ColumnWidth = 5;
worksheet.Columns["C", Type.Missing].ColumnWidth = 12;
worksheet.Columns["D", Type.Missing].ColumnWidth = 10;
worksheet.Columns["E", Type.Missing].ColumnWidth = 12;
worksheet.Columns["F", Type.Missing].ColumnWidth = 16;
worksheet.Columns["G", Type.Missing].ColumnWidth = 18;
worksheet.Columns["H", Type.Missing].ColumnWidth = 7;
worksheet.Columns["I", Type.Missing].ColumnWidth = 7;
worksheet.Columns["J", Type.Missing].ColumnWidth = 7;
worksheet.Columns["K", Type.Missing].ColumnWidth = 7;
worksheet.Columns["L", Type.Missing].ColumnWidth = 10;
worksheet.Columns["M", Type.Missing].ColumnWidth = 7; worksheet.Columns["N", Type.Missing].ColumnWidth = 7;
worksheet.Columns["O", Type.Missing].ColumnWidth = 5;
worksheet.Columns["P", Type.Missing].ColumnWidth = 5;
worksheet.Columns["Q", Type.Missing].ColumnWidth = 12;
worksheet.Columns["R", Type.Missing].ColumnWidth = 12;
worksheet.Columns["S", Type.Missing].ColumnWidth = 5;
worksheet.Columns["T", Type.Missing].ColumnWidth = 5;
worksheet.Columns["U", Type.Missing].ColumnWidth = 5;
worksheet.Columns["V", Type.Missing].ColumnWidth = 5;
worksheet.Columns["W", Type.Missing].ColumnWidth = 10;
worksheet.Columns["X", Type.Missing].ColumnWidth = 10;
worksheet.Columns["Y", Type.Missing].ColumnWidth = 10;
worksheet.Columns["Z", Type.Missing].ColumnWidth = 8;
worksheet.Columns["AA", Type.Missing].ColumnWidth = 10;
worksheet.Columns["AB", Type.Missing].ColumnWidth = 8;
worksheet.Columns["AC", Type.Missing].ColumnWidth = 10;
worksheet.Columns["AD", Type.Missing].ColumnWidth = 8;
worksheet.Columns["AE", Type.Missing].ColumnWidth = 8;
worksheet.Columns["AF", Type.Missing].ColumnWidth = 12;
worksheet.Columns["AG", Type.Missing].ColumnWidth = 15; /// worksheet.Cells[9,"A"].value ="asd";
// Microsoft.Office.Interop.Excel.Range firstColumn = worksheet.get_Range("A1");
//Range firstColumn = (Range)xlWorkSheet.Columns[0];
// firstColumn.EntireColumn.AutoFit(); workbook.Save();
workbook.Close();
appExcel.Quit();
appExcel = null;
GC.Collect(); }
}

2014-10-1814:07:48

导入:

        private void Btn_Open_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Excel文件|*.xlsx;*.xls";
if (dlg.ShowDialog() == DialogResult.OK)
{ this.TXT_FileName.Text = dlg.FileName;
Excel.Application xlApp = new Excel.Application();
try
{
Excel.Workbook workbook = xlApp.Workbooks.Open(dlg.FileName, , false, , "", "", false, Excel.XlPlatform.xlWindows, "", true, false, , true, , );
int n = workbook.Worksheets.Count;
CB_Sheet.Items.Clear();
for (int i = ; i < n; i++)
{
CB_Sheet.Items.Add(((Excel.Worksheet)workbook.Worksheets[i + ]).Name);
} preqexcel(dlg.FileName);
}
finally
{
xlApp.Workbooks.Close();
xlApp.Quit();
xlApp = null;
GC.Collect();
this.overpricerowindex.Clear();
}
}
}
private void preqexcel(string path)
{
string strConn ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
path + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
OleDbConnection conn = new OleDbConnection(strConn);
try
{
conn.Open();
}
catch (Exception error)
{
MessageBox.Show("Microsoft.ACE.OLEDB.12.0驱动程序丢失或损坏,请重新安装ODBC驱动!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = string.Format( "select * from [{0}$]",this.CB_Sheet.Text);
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds);
this.gridView1.Columns.Clear();
this.gridControl1.DataSource = ds.Tables[]; conn.Close();
this.gridView1.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always;
this.gridView1.VertScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always;
foreach (DevExpress.XtraGrid.Columns.GridColumn gcol in this.gridView1.Columns)
{
gcol.MinWidth = ; } }

Excel 导入 导出 Microsoft的更多相关文章

  1. ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...

  2. Excel导入导出帮助类

    /// <summary>    /// Excel导入导出帮助类    /// 记得引入 NPOI    /// 下载地址   http://npoi.codeplex.com/rele ...

  3. Mego(04) - NET简单实现EXCEL导入导出

    前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable ...

  4. Java之POI的excel导入导出

    一.Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件.这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Offic ...

  5. Java Excel 导入导出(一)

    本文主要描述通过java实现Excel导入导出 一.读写Excel三种常用方式 1.JXL——Java Excel开放源码项目:读取,创建,更新 2.POI——Apache POI ,提供API给Ja ...

  6. SpringBoot集成文件 - 集成POI之Excel导入导出

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能.本文主要介绍通过Spr ...

  7. 利用反射实现通用的excel导入导出

    如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...

  8. Excel导入导出的业务进化场景及组件化的设计方案(上)

    1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候 ...

  9. 关于Excel导入导出的用例设计

    目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...

随机推荐

  1. GridView的七种数据绑定列的类型

    1.BoundField 用于显示普通文本,是默认的数据绑定列的类型,一般自动生成的列就是该类型,需要注意是DataFormatString属性,该属性可以设置显示的格式,常见格式有:{0:C} 设置 ...

  2. 基于socket的TCP和UDP编程

    一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流 ...

  3. 【PC网站前端架构探讨系列】关于中小型PC网站前端架构方案的讨论与实践

    目   录 1.遇到的问题 2.目标 3.探讨 4.架构设想 5.流程 6.初步实现 7.存在问题 8.最后 遇到的问题 我在这个系列上篇文章 已经讲解并开始逐步应用模块化思想,不知大家还记不记得,题 ...

  4. 设计模式之六大原则——迪米特法则(LoD,LKP)

    转载于:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793000.html  定义: 迪米特法则(Law of Demeter,LoD)也 ...

  5. PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比

    在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数. 测试环境 操作系统:Windows x64 Server:Apache PHP: ...

  6. GET,POST — 简述

    本文主要对GET与POST基本区别进行汇总并掌握,如有错误与遗漏之处,请指出. 文章出处:http://www.cnblogs.com/useryangtao/ 1. HTTP HTTP(即超文本传输 ...

  7. vert.x学习(七),使用表单获取用户提交的数据

    在web开发中,用的最多的就是表单了,用户通过表单提交数据到系统后台,系统又可以通过表单传递的数据做业务分析.那么这章就学习在vert.x中怎么使用表单,获取表单的参数值. 编写一个表单模板代码res ...

  8. mysql关于排序值的问题

  9. css3知识

    一.box-sizing 属性 规定两个并排的带边框的框 二.align-items (适用于父类容器上) 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式. 值: flex-start:弹性盒子 ...

  10. Linux 命令快捷键

    Linux 命令快捷键 tab 自动补齐(有不知道的吗)Ctrl+u 删除(剪切)此处至开始所有内容 Ctrl+k 删除从光标所在位置到行末 快速命令行 – 快捷方式• history 搜索历史执行过 ...