`
gauss2008
  • 浏览: 41062 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

导出Excel

阅读更多

如何将数据导入到Excel,方法大体分为两种。一是以数据流的形式写入到文件,另外一种就是调用Microsoft的Excel.dll。 今天主要介绍后者, 如何根据传入数据和显示格式自动的生成Excel。首先看源代码

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Collections;
using System.IO;
using System.Diagnostics;
using Excel;
using System.Runtime.InteropServices;

namespace Gauss.Common
...{
    
public class GaussExcel
    
...{
                
// Fields
        private DateTime afterTime;
        
private DateTime beforeTime;
        
private int titleColorindex;
        
private int topPargin;
        
private int leftPargin;
        
private bool showBlank;
        
public bool ShowBlank
        
...{
            
get ...return showBlank; }
            
set ...{ showBlank = value; }
        }

    
        
public int LeftPargin
        
...{
            
get ...return leftPargin; }
            
set ...{ leftPargin = value; }
        }


        
public int TopPargin
        
...{
            
get ...return topPargin; }
            
set ...{ topPargin = value; }
        }

    
        
public GaussExcel()
        
...{
            
this.titleColorindex = 15;
            
this.leftPargin = 2;
            
this.topPargin = 2;
            
this.showBlank = true;
        }


        
private void ClearFile(string FilePath)
        
...{
            
string[] textArray1 = Directory.GetFiles(FilePath);
            
if (textArray1.Length > 10)
            
...{
                
for (int num1 = 0; num1 < 10; num1++)
                
...{
                    
try
                    
...{
                        File.Delete(textArray1[num1]);
                    }

                    
catch
                    
...{
                    }

                }

            }

        }

        
public string ProduceExcel(System.Data.DataTable dt, string strTitle, string FilePath, Hashtable nameList) 
        
...{
            
string fileName=null;
            ClearFile(FilePath);
            fileName 
= OutputExcel(dt, strTitle, FilePath, nameList);
            KillExcelProcess();
            
return fileName;
        }
   
        
public void KillExcelProcess()
        
...{
            Process[] processArray1 
= Process.GetProcessesByName("Excel");
            
foreach (Process process1 in processArray1)
            
...{
                DateTime time1 
= process1.StartTime;
                
if ((time1 > this.beforeTime) && (time1 < this.afterTime))
                
...{
                    process1.Kill();
                }

            }

        }

        
public string OutputExcel(System.Data.DataTable dt, string strTitle, string FilePath, Hashtable nameList)
        
...{
            
this.beforeTime = DateTime.Now;
            
//FiledName
            int num1 = this.topPargin+1;
            
if (this.showBlank) num1 += 1;
            
int numTitle = num1;
            
int num2 = this.leftPargin-1;
            Application application1 
= new ApplicationClass();
            _Workbook workbook1 
= application1.Workbooks.Add(true);
            _Worksheet worksheet1 
= (_Worksheet)workbook1.ActiveSheet;

           
            
foreach (DataColumn column1 in dt.Columns)
            
...{
                
bool myFlag = false;                
                
string text5 = column1.ColumnName.Trim();
                
if (nameList.ContainsKey(text5))
                
...{
                    num2
++;
                    application1.Cells[num1, num2] 
= nameList[text5];
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Font.Bold 
= true;
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).HorizontalAlignment 
= XlVAlign.xlVAlignCenter;
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Select();
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Interior.ColorIndex 
= this.titleColorindex;  
                    
                }

              
/**//*  IDictionaryEnumerator enumerator1 = nameList.GetEnumerator();
                while (enumerator1.MoveNext())
                {
                    if (enumerator1.Key.ToString().Trim() == text5)
                    {
                        text5 = enumerator1.Value.ToString() ;
                        myFlag = true;
                    }
                }
                if (myFlag) {
                    num2++;
                    application1.Cells[num1, num2] = text5;
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Font.Bold = true;
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).HorizontalAlignment = XlVAlign.xlVAlignCenter;
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Select();
                    worksheet1.get_Range(application1.Cells[num1, num2], application1.Cells[num1, num2]).Interior.ColorIndex = this.titleColorindex;  
                }    
*/
                         
            }

            
//Fill In Data To Excel
分享到:
评论
1 楼 gauss2008 2007-06-01  
test

相关推荐

    使用aspose导出Excel(根据模板导出excel).zip

    在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip...

    poi导出根据模板导出excel和简单列表导出excel源码

    在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...

    pb导出excel2007

    "pb导出excel2007"这个主题涉及到的是如何在PowerBuilder中将数据窗口(DataWindow)的内容导出到Excel 2007格式的文件中。在实际开发中,有时我们需要将PB的数据窗口数据导出到Excel以便于分析、处理或分享,而这个...

    Delphi DBGrid导出Excel2010

    Delphi DBGrid 导出 Excel 2010 Delphi DBGrid 是一个强大的数据-grid 控件,经常用于展示大量数据。然而,在实际应用中,我们经常需要将 DBGrid 中的数据导出到其他格式,例如 Excel,以便于数据分析和处理。下面...

    导出Excel功能,导出Excel功能,导出Excel功能

    在IT领域,导出Excel功能是一项非常常见的需求,特别是在数据分析、报表生成以及数据共享等场景中。Excel作为一款强大的电子表格软件,因其易用性、灵活性和强大的计算能力,成为了企业和个人处理数据的首选工具。...

    GridControl通用导出Excel

    ### GridControl通用导出Excel知识点解析 #### 一、GridControl通用导出Excel概述 GridControl是DevExpress提供的一款用于展示和编辑数据的强大组件。在实际应用中,常常需要将GridControl中的数据导出到Excel中,...

    易语言高级表格快速导出EXCEL

    在"易语言高级表格快速导出EXCEL"这个项目中,开发者可能需要实现以下关键技术点: 1. **数据结构与表格对象**:首先,需要在易语言中创建合适的数据结构来存储表格数据,这通常涉及数组或链表等数据类型。同时,...

    jquery 导出excel方法

    下面将详细介绍jQuery导出Excel的方法,以及相关知识点。 1. **jQuery插件:TableExport** 文件`tableExport.jquery.plugin-a891806`可能是一个名为TableExport的jQuery插件,它允许开发者将HTML表格数据导出为...

    ext实现导出excel的功能。

    在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...

    新版excel导出控件.rar_donec1p_pb_pb excel_pb 导出_pb导出excel

    在这个场景中,"新版excel导出控件.rar_donec1p_pb_pb excel_pb 导出_pb导出excel" 的标题和描述提到了一个关键的开发需求:在PB应用中导出数据到Excel文件。 传统的PowerBuilder(PB)自身虽然提供了数据窗口...

    C# NPOI 导出Excel

    本资源提供的"004ExportExcelDemo"示例将帮助你了解如何使用NPOI来导出Excel数据。 首先,让我们了解一下NPOI的基本概念。NPOI主要包含两个主要组件:HSSF(Horrible SpreadSheet Format)用于处理旧版的Excel 97-...

    POI导出Excel文件

    这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...

    cxGrid带正副标题导出Excel

    在本主题"cxGrid带正副标题导出Excel"中,我们将探讨如何利用cxGrid控件在导出数据到Excel文件时,同时包含主标题(正标题)和副标题(副标题)。 首先,我们需要了解cxGrid的基本结构。cxGrid通常由几个主要部分...

    js导出excel.zip

    在JavaScript编程领域,导出Excel是一项常见的需求,特别是在Web应用中,用户可能需要将数据显示在Excel表格中以便进一步处理或存储。"js导出excel.zip"这个压缩包提供了一个解决方案,它结合了EasyUI和DataGrid组件...

    java 导出excel,带图片的Excel导出

    在Java编程中,导出Excel是一项常见的任务,特别是在数据分析、报表生成或数据交换等领域。而带图片的Excel导出则增加了复杂性,因为涉及到二进制数据的处理和Excel特定格式的支持。以下是一些关于如何在Java中实现...

    lodop导出ExcelDemo

    【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...

    Excel通用导出excel文件

    "Excel通用导出excel文件"这个主题涵盖了如何在不同情况下高效地实现这一目标,不论你是要处理小规模的数据还是大规模的数据集。下面,我们将深入探讨Excel的通用导出功能,以及如何利用它来优化你的工作流程。 ...

    layui数据表格导出Excel插件

    layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中的数据导出到Excel文件中。layui是一款轻量级的前端UI框架,以其简洁、优雅的代码风格和丰富的组件库深受开发者喜爱...

Global site tag (gtag.js) - Google Analytics