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 ...
随机推荐
- 有限状态机(FSM)
在游戏开发中,AI是个永恒不变的话题,如果你要的AI只是很简单的一个逻辑 那么有限状态机是一个很好的解决方案,尽管在实际开发中,AI的设计并不是一个简单的逻辑, 如果用有限状态机,维护起来会非常麻烦, ...
- 普通用户ssh无密码登录设置
这段时间在做Hadoop的环境配置,用root用户只需要按照一定的步骤进行操作就可以直接实现无密码登录,但如果使用新建用户,怎么尝试都不行. 本帖大部分都是其他人帖子的内容.如果按照下面的步骤还是不能 ...
- java抽象类
Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不 ...
- 关于页面中table中相同的列自动合并
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- IConfigurationSectionHandler 使用~
读取webconfig中自定义的xml 处理对特定的配置节的访问. webconfig <configSections> <section name="NopConfig ...
- Google内部邮件:如何进行高效的时间管理能量波动图
Google内部邮件:如何进行高效的时间管理能量波动图 发布时间: 2015-12-16 22:16:50| 阅读数:462 views 最近,我给团队内部写了一封简单的邮件.主要内容是征询他们,如何 ...
- Thread-Safe Resource Manager
http://php.net/manual/en/internals2.memory.tsrm.php When PHP is built with Thread Safety enabled, th ...
- nginx中相关配置
#nginx 开启目录浏览 location / { root /data/www/file //指定实际目录绝对路径: autoindex on; //开启目录浏览功能: autoindex_exa ...
- 使用Ajax异步加载页面时,怎样调试该页面的Js
前言-本人不是干前端的,所以有的名词不专业 在前端中,有时候会遇到这样的框架,http://172.17.11.151:8060/frontend/backend.html#1.html (通过解析U ...
- Elasticsearch问题总结
1.ES大量做FULL GC,日志如下: [2016-12-15 14:53:21,496][WARN ][monitor.jvm ] [vsp4] [gc][old][94725][4389] du ...