热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c#中Excel数据的导入、导出

**导出到Excel文件含完整路径含字段标题
ExpandedBlockStart.gifContractedBlock.gif/**//// 
InBlock.gif
/// 导出到 Excel 文件
InBlock.gif
/// 

InBlock.gif
/// 含完整路径
ExpandedBlockEnd.gif
/// 含字段标题名

None.gifpublic void ExpExcel(string fileName ,DataTable dataTable)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    Excel.ApplicationClass apc 
=new Excel.ApplicationClass();
InBlock.gif
InBlock.gif    apc.Visible 
= false ;
InBlock.gif    Excel.Workbook wkbook 
= apc.Workbooks.Add( true ) ;
InBlock.gif    Excel.Worksheet wksheet 
= (Excel.Worksheet)wkbook.ActiveSheet;
InBlock.gif
InBlock.gif    
int rowIndex = 2;
InBlock.gif    
int colIndex = 1;
InBlock.gif
InBlock.gif    wksheet.get_Range(apc.Cells[
1,1],apc.Cells[dataTable.Rows.Count,dataTable.Columns.Count]).NumberFormat = "@";
InBlock.gif
InBlock.gif    
//取得列标题
InBlock.gif
    foreach (DataColumn dc in dataTable.Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        colIndex 
++;
InBlock.gif        wksheet.Cells[
1,colIndex] = dc.ColumnName;
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    
//取得表格中数据
InBlock.gif
    foreach (DataRow dr in dataTable.Rows)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        colIndex 
= 1;
InBlock.gif        
foreach (DataColumn dc in dataTable.Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if(dc.DataType == System.Type.GetType("System.DateTime"))
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                apc.Cells[rowIndex,colIndex] 
= "'"+(Convert.ToDateTime(dr[dc.ColumnName].ToString())).ToString("yyyy-MM-dd");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
InBlock.gif                
if(dc.DataType == System.Type.GetType("System.String"))
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                apc.Cells[rowIndex,colIndex] 
= "'"+dr[dc.ColumnName].ToString();
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                apc.Cells[rowIndex,colIndex] 
= "'"+dr[dc.ColumnName].ToString();
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            wksheet.get_Range(apc.Cells[rowIndex,colIndex],apc.Cells[rowIndex,colIndex]).HorizontalAlignment 
= Excel.XlHAlign.xlHAlignLeft;
InBlock.gif
InBlock.gif            colIndex
++;
ExpandedSubBlockEnd.gif        }

InBlock.gif        rowIndex
++;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
InBlock.gif    
//设置表格样式
InBlock.gif
    wksheet.get_Range(apc.Cells[1,1],apc.Cells[1,dataTable.Columns.Count]).Interior.ColorIndex = 20
InBlock.gif    wksheet.get_Range(apc.Cells[
1,1],apc.Cells[1,dataTable.Columns.Count]).Font.ColorIndex = 3;
InBlock.gif    wksheet.get_Range(apc.Cells[
1,1],apc.Cells[1,dataTable.Columns.Count]).Borders.Weight = Excel.XlBorderWeight.xlThin;
InBlock.gif    wksheet.get_Range(apc.Cells[
1,1],apc.Cells[dataTable.Rows.Count,dataTable.Columns.Count]).Columns.AutoFit();
InBlock.gif
InBlock.gif    
if(File.Exists(fileName))
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        File.Delete(fileName);
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    wkbook.SaveAs( fileName ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
InBlock.gif   
InBlock.gif    wkbook.Close(Type.Missing,Type.Missing,Type.Missing);
InBlock.gif    apc.Quit();
InBlock.gif    wkbook 
= null;
InBlock.gif    apc 
= null;
InBlock.gif    GC.Collect();
ExpandedBlockEnd.gif}

ExpandedBlockStart.gifContractedBlock.gif
/**//// 
InBlock.gif
/// 从Excel导入帐户(逐单元格读取)
InBlock.gif
/// 

ExpandedBlockEnd.gif
/// 完整路径名

None.gifpublic IList ImpExcel(string fileName)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    IList alExcel 
= new ArrayList();
InBlock.gif    UserInfo userInfo 
= new UserInfo();
InBlock.gif
InBlock.gif    Excel.Application app;
InBlock.gif    Excel.Workbooks wbs;
InBlock.gif    Excel.Worksheet ws;
InBlock.gif
InBlock.gif    app 
= new Excel.Application();
InBlock.gif    wbs 
= app.Workbooks;
InBlock.gif    wbs.Add(fileName);
InBlock.gif    ws
= (Excel.Worksheet)app.Worksheets.get_Item(1);
InBlock.gif    
int a = ws.Rows.Count;
InBlock.gif    
int b = ws.Columns.Count;
InBlock.gif    
InBlock.gif    
for ( int i &#61; 2; i < 4; i&#43;&#43;)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
for ( int j &#61; 1; j < 21; j&#43;&#43;)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Excel.Range range 
&#61; ws.get_Range(app.Cells[i,j],app.Cells[i,j]);
InBlock.gif            range.Select();
InBlock.gif            alExcel.Add( app.ActiveCell.Text.ToString() );
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    
return alExcel;
ExpandedBlockEnd.gif}

None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
/**//// 
InBlock.gif
/// 从Excel导入帐户(新建oleDb连接,Excel整表读取,适于无合并单元格时)
InBlock.gif
/// 

InBlock.gif
/// 完整路径名
ExpandedBlockEnd.gif
/// 

None.gifpublic DataTable ImpExcelDt (string fileName)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
string strCon &#61; " Provider &#61; Microsoft.Jet.OLEDB.4.0 ; Data Source &#61; " &#43; fileName &#43; ";Extended Properties&#61;Excel 8.0" ;
InBlock.gif    OleDbConnection myConn 
&#61; new OleDbConnection ( strCon ) ;
InBlock.gif    
string strCom &#61; " SELECT * FROM [Sheet1$] " ;
InBlock.gif    myConn.Open ( ) ;
InBlock.gif    OleDbDataAdapter myCommand 
&#61; new OleDbDataAdapter ( strCom , myConn ) ;
InBlock.gif    DataSet myDataSet 
&#61; new DataSet ( ) ;
InBlock.gif    myCommand.Fill ( myDataSet , 
"[Sheet1$]" ) ;
InBlock.gif    myConn.Close ( ) ;
InBlock.gif
InBlock.gif    DataTable dtUsers 
&#61; myDataSet.Tables[0];
InBlock.gif
InBlock.gif    
return dtUsers;
ExpandedBlockEnd.gif}

None.gif
None.gif
None.gifdataGrid中显示&#xff1a;
None.gifDataGrid1.DataMember
&#61; "[Sheet1$]" ;
None.gifDataGrid1.DataSource 
&#61; myDataSet ;

转载于:https://www.cnblogs.com/liuzhixian/articles/851983.html


推荐阅读
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文探讨了如何在编程中正确处理包含空数组的 JSON 对象,提供了详细的代码示例和解决方案。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
author-avatar
c6643e7f36_253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有