Excel 导入 导出 Microsoft
导出:
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的更多相关文章
- ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...
- Excel导入导出帮助类
/// <summary> /// Excel导入导出帮助类 /// 记得引入 NPOI /// 下载地址 http://npoi.codeplex.com/rele ...
- Mego(04) - NET简单实现EXCEL导入导出
前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable ...
- Java之POI的excel导入导出
一.Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件.这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Offic ...
- Java Excel 导入导出(一)
本文主要描述通过java实现Excel导入导出 一.读写Excel三种常用方式 1.JXL——Java Excel开放源码项目:读取,创建,更新 2.POI——Apache POI ,提供API给Ja ...
- SpringBoot集成文件 - 集成POI之Excel导入导出
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能.本文主要介绍通过Spr ...
- 利用反射实现通用的excel导入导出
如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...
- Excel导入导出的业务进化场景及组件化的设计方案(上)
1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候 ...
- 关于Excel导入导出的用例设计
目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...
随机推荐
- js获取?后面具体参数的值
function getURLParam(name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' ...
- 李洪强经典面试题145-Runloop
李洪强经典面试题145-Runloop Runloop 什么是 Runloop? 从字面上讲就是运行循环. 它内部就是do-while循环,在这个循环内部不断地处理各种任务. 一个线程对应一个Ru ...
- 判断.NET4.0是否安装
Clinet 和 Full存在一个都说明安装了Framework "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"&qu ...
- *HDU 2108 计算几何
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- [转]Oracle Hidden Parameter:_allow_resetlogs_corruption
本文转自eygle博客,原文地址:http://www.eygle.com/archives/2005/10/oracle_hidden_allow_resetlogs_corruption.html ...
- iOS CoreAnimation 核心动画
一 介绍 一组非常强大的动画处理API 直接作用在CALAyer上,并非UIView(UIView动画) CoreAnimation是所有动画的父类,但是不能直接使用,应该使用其子类 属性: dura ...
- SQL Injection(SQL注入漏洞)
审计前准备: 1.安�php程序(推荐phpStudy) 2.高亮编辑器(推荐 Sublimetext Notepad++) 3.新建一个文本,复制以下变量,这些变量是审计中需要在源码中寻找的 ### ...
- VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法(转自网络)
最近开始使用VS2010,在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示.查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入 ...
- iOS柱状图的绘制
前段时间公司要求做一个统计,用swift3.0写的,因此整理了一下demo,直接上图 代码下载地址:https://github.com/minyahui/MYHChartView
- 转C#窗体无法接受Keydown事件
问题一描述:当新建一个窗体时,添加KeyDown事件后,会正常处理,但是当添加有控件时,比如Button,TextBox,不会触发窗体的KeyDown事件,也没有调用KeyDown事件的处理程序. 原 ...