C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例

本文实例讲述了C#实现DataSet内数据转化为Excel和Word文件的通用类。分享给大家供大家参考,具体如下:

前不久因为项目的需要写的一个C#把DataSet内数据转化为Excel和Word文件的通用类,这些关于Excel、Word的导出方法,基本可以实现日常须要,其中有些方法可以把数据导出后 生成Xml格式,再导入数据库!有些屏蔽内容没有去掉,保留下来方便学习参考用之。 最后请引用Office相应COM组件,导出Excel对象的一个方法要调用其中的一些方法和属性。

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Word;
using Microsoft.Office.Core;
using OWC=Microsoft.Office.Interop;
using System.Reflection;
using System.Text;
namespace CaOnLine.ZWDB.DFObject
{
 /// <summary>
 /// ExportFiles 的摘要说明。
 /// 作用:把DataSet数据集内数据转化为Excel、Word文件
 /// 描述:这些关于Excel、Word的导出方法,基本可以实现日常须要,其中有些方法可以把数据导出后
 ///    生成Xml格式,再导入数据库!有些屏蔽内容没有去掉,保留下来方便学习参考用之。
 /// 备注:请引用Office相应COM组件,导出Excel对象的一个方法要调用其中的一些方法和属性。
 /// </summary>
 public class ExportFiles
 {
 /// <summary>
 ///
 /// </summary>
 ///
 #region //构造函数
 public ExportFiles()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
 #endregion
 /// <summary>
 /// 调用Excel.dll导出Excel文件
 /// </summary>
 /// <param name="ds"></param>
 ///
 #region // 调用Excel.dll导出Excel文件
     /// <summary>
     ///
     /// </summary>
     /// <param name="ds">DataSet数据庥</param>
     /// <param name="Duser">登录用户(如session["username"].Tostring())可为null或空</param>
     /// <param name="titlename">添加一个报表标题</param>
     /// <param name="filepath">指定文件在服务器上的存放地址(如:Server.MapPath("."))可为null或空</param>
     ///
     /// 为什么在这里设置个filepath?
     /// 原因如下:filepath接收的内容是Server.MapPath(".")这个参数值,这个值在这本类中对
     /// System.Web.HttpServerUtility HServer=new System.Web.HttpServerUtility()的引用出错,因为没有继承Page类
     /// 所以只能以传值的形式调用了,你有好的办法可以修改,那就再好不过了!
 public void DataSetToExcel(DataSet ds,string Duser,string titlename,string filepath)
 {
  //Microsoft.Office.Interop.Owc11() appowc=new Microsoft.Office.Interop.Owc11();
  OWC.Owc11.SpreadsheetClass xlsheet=new Microsoft.Office.Interop.Owc11.SpreadsheetClass();
  #region //屏蔽内容
  ///本来想用下面的这个办法实现的,可在IIS中必须设置相关的权限
  ///所以就放弃了,把代码设置为屏蔽内容,供学习参考!
  ///
//  Microsoft.Office.Interop.Excel.Application app=new Microsoft.Office.Interop.Excel.Application();
//
//  if(app==null)
//  {
//        throw new Exception("系统调用错误(Excel.dll)");
//  }
//  app.Application.Workbooks.Add(true);
//  WorkbookClass oBook=new WorkbookClass();
//      WorksheetClass oSheet=new WorksheetClass();
//
//  //定义表对象与行对象,同时用DataSet对其值进行初始化
//  System.Data.DataTable dt=ds.Tables[0];
//   oSheet.get_Range(app.Cells[1,1],app.Cells[10,15]).HorizontalAlignment=OWC.Owc11.XlHAlign.xlHAlignCenter;
//  DataRow[] myRow=dt.Select();
//  int i=0;
//  int cl=dt.Columns.Count;
//  //取得数据表各列标题
//  for(i=0;i<cl;i++)
//  {
//  app.Cells[1,i+1]=dt.Columns[i].Caption.ToString();
//  //app.Cells.AddComment(dt.Columns[i].Caption.ToString());
//  //oSheet.Cells.AddComment(dt.Columns[i].Caption.ToString());
//  //app.Cells=dt.Columns[i].Caption.ToString();
//  //oSheet.get_Range(app.Cells,app.Cells).HorizontalAlignment=
//  //app.Cells.AddComment=dt.Columns[i].ToString();
//  //oSheet.get_Range(app.Cells,app.Cells).HorizontalAlignment=
//  }
  #endregion
  //定义表对象与行对象,同时用DataSet对其值进行初始化
      System.Data.DataTable dt=ds.Tables[0];
  DataRow[] myRow=dt.Select();
      int i=0;
  int col=1;
  int colday=col+1;
  int colsecond=colday+1;
  int colnumber=colsecond+1;
  int cl=dt.Columns.Count;
  string userfile=null;
  //合并单元格
  xlsheet.get_Range(xlsheet.Cells[col,col],xlsheet.Cells[col,cl]).set_MergeCells(true);
  //添加标题名称
  if(titlename=="" || titlename==null)
    xlsheet.ActiveSheet.Cells[col,col]="添加标题处(高级报表)";
  else
  xlsheet.ActiveSheet.Cells[col,col]=titlename.Trim();
      //判断传值user是否为空
  if(Duser=="" || Duser==null)
  userfile="DFSOFT";
  else
  userfile=Duser;
  //设置标题大小
  xlsheet.get_Range(xlsheet.Cells[col,col],xlsheet.Cells[col,cl]).Font.set_Size(13);
  //加粗标题
  xlsheet.get_Range(xlsheet.Cells[col,col],xlsheet.Cells[col,cl]).Font.set_Bold(true);
   xlsheet.get_Range(xlsheet.Cells[colsecond,col],xlsheet.Cells[colsecond,cl]).Font.set_Bold(true);
  //设置标题水平居中
  xlsheet.get_Range(xlsheet.Cells,xlsheet.Cells).set_HorizontalAlignment(OWC.Owc11.XlHAlign.xlHAlignCenter);
  //设置单元格宽度
  //xlsheet.get_Range(xlsheet.Cells,xlsheet.Cells).set_ColumnWidth(9);
  xlsheet.get_Range(xlsheet.Cells[colday,col],xlsheet.Cells[colday,cl]).set_MergeCells(true);
  xlsheet.ActiveSheet.Cells[colday,col]="日期:"+DateTime.Now.Year.ToString()+"年"+DateTime.Now.Month.ToString()+"月"+DateTime.Now.Day.ToString()+"日 ";
  xlsheet.get_Range(xlsheet.Cells[colday,col],xlsheet.Cells[colday,cl]).set_HorizontalAlignment(OWC.Owc11.XlHAlign.xlHAlignRight);
  //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
  for(i=0;i<cl;i++)
  {
  xlsheet.ActiveSheet.Cells[colsecond,i+1]=dt.Columns[i].Caption.ToString();
  }
      //逐行处理数据
  foreach(DataRow row in myRow)
  {
  //当前数据写入
  for(i=0;i<cl;i++)
  {
   xlsheet.ActiveSheet.Cells[colnumber,i+1]=row[i].ToString().Trim();
  }
  colnumber++;
  }
  //设置边框线
  xlsheet.get_Range(xlsheet.Cells[colsecond,col],xlsheet.Cells[colnumber-1,cl]).Borders.set_LineStyle(OWC.Owc11.XlLineStyle.xlContinuous);
  try
  {
  //xlsheet.get_Range(xlsheet.Cells[2,1],xlsheet.Cells[8,15]).set_NumberFormat("¥#,##0.00");
  // System.Web.HttpServerUtility HServer=new System.Web.HttpServerUtility();
  //HServer.MapPath(".")+"//testowc.xls";
  xlsheet.Export(filepath+"//exportfiles//~$"+userfile+".xls",OWC.Owc11.SheetExportActionEnum.ssExportActionNone,OWC.Owc11.SheetExportFormat.ssExportXMLSpreadsheet);
  }
  catch(Exception e)
  {
  throw new Exception("系统调用错误或有打开的Excel文件!"+e);
  }
  //Web页面定义
  HttpResponse resp;
  resp=HttpContext.Current.Response;
  resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
  resp.AppendHeader("Content-disposition","attachment;filename="+userfile+".xls");
  resp.ContentType="application/ms-excel";
  string path=filepath+"//exportfiles//~$"+userfile+".xls";
  System.IO.FileInfo file = new FileInfo(path);
  resp.Clear();
  resp.AddHeader("content-length",file.Length.ToString());
  resp.WriteFile(file.FullName);
  resp.End();
 }
 #endregion
 /// <summary>
 /// 导出Excel文件类
 /// </summary>
 /// <param name="ds"></param>
 /// <param name="FileName"></param>
 ///
 #region //导出Excel文件类
 public void DataSetToExcel(DataSet ds,string FileName)
 {
  try
  {
  //Web页面定义
  //System.Web.UI.Page mypage=new System.Web.UI.Page();
  HttpResponse resp;
  resp=HttpContext.Current.Response;
  resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
  resp.AppendHeader("Content-disposition","attachment;filename="+FileName+".xls");
  resp.ContentType="application/ms-excel";
  //变量定义
  string colHeaders=null;
  string Is_item=null;
  //显示格式定义////////////////
  //文件流操作定义
  // FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write);
  //StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
  StringWriter sfw=new StringWriter();
  //定义表对象与行对象,同时用DataSet对其值进行初始化
  System.Data.DataTable dt=ds.Tables[0];
  DataRow[] myRow=dt.Select();
  int i=0;
  int cl=dt.Columns.Count;
  //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
  for(i=0;i<cl;i++)
  {
   //if(i==(cl-1)) //最后一列,加\n
   // colHeaders+=dt.Columns[i].Caption.ToString();
   //else
   colHeaders+=dt.Columns[i].Caption.ToString()+"\t";
  }
  sfw.WriteLine(colHeaders);
  //sw.WriteLine(colHeaders);
  //逐行处理数据
  foreach(DataRow row in myRow)
  {
   //当前数据写入
   for(i=0;i<cl;i++)
   {
   //if(i==(cl-1))
   //  Is_item+=row[i].ToString()+"\n";
   //else
   Is_item+=row[i].ToString()+"\t";
   }
   sfw.WriteLine(Is_item);
   //sw.WriteLine(Is_item);
   Is_item=null;
  }
  resp.Write(sfw);
  //resp.Clear();
  resp.End();
  }
  catch(Exception e)
  {
        throw e;
  }
 }
 #endregion
 /// <summary>
 /// 数据集转换,即把DataSet转换为Excel对象
 /// </summary>
 /// <param name="ds"></param>
 /// <param name="FileName"></param>
 /// <param name="titlename"></param>
 ///
 #region   //运用html+css生成Excel
 public void DataSetToExcel(DataSet ds,String FileName,string titlename)
 {
  string ExportFileName=null;
  if(FileName==null || FileName=="")
  ExportFileName="DFSOFT";
  else
  ExportFileName=FileName;
  if(titlename=="" || titlename==null)
  titlename="添加标题处(高级报表)";
  //定义表对象与行对象,同时用DataSet对其值进行初始化
  System.Data.DataTable dt=ds.Tables[0];
  DataRow[] myRow=dt.Select();
  int i=0;
  int cl=dt.Columns.Count;
  //Web页面定义
  HttpResponse resp;
  resp=HttpContext.Current.Response;
  resp.Clear();
  resp.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
  resp.AppendHeader("Content-disposition","attachment;filename="+ExportFileName+".xls");
  resp.ContentType="application/vnd.ms-excel";
  string BeginTab="<table border='0' cellpadding='0' cellspacing='0' style='border-right:#000000 0.1pt solid;border-top:#000000 0.1pt solid;'>";
  string EndTab="</table>";
  string FileIO=null;
  string MainIO=null;
  string TitleTab="<tr><td colspan='"+cl+"' style='font-size:30px;' align='center'><b>"+titlename+"</b></td></tr><tr><td colspan='"+cl+"' align='right' style='font-size:15px;'>"+DateTime.Now.Year.ToString()+"年"+DateTime.Now.Month.ToString()+"月"+DateTime.Now.Day.ToString()+"日    </td></tr>";
  string BeginTr="<tr>";
  string EndTr="</tr>";
  for(i=0;i<cl;i++)
  {
  FileIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'><b>"+dt.Columns[i].Caption.ToString()+"</b></td>";
  }
  FileIO=BeginTr.ToString()+FileIO.ToString()+EndTr.ToString();
  //逐行处理数据
  foreach(DataRow row in myRow)
  {
  string OutIO=null;
  //当前数据写入
  for(i=0;i<cl;i++)
  {
   OutIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'>"+row[i].ToString()+"</td>";
  }
  MainIO+=BeginTr.ToString()+OutIO.ToString()+EndTr.ToString();
  }
  FileIO="<center><table>"+TitleTab.ToString()+"<tr>"+BeginTab.ToString()+FileIO.ToString()+MainIO.ToString()+EndTab.ToString()+"</tr></table></center>";
  resp.Write(FileIO.ToString());
  resp.End();
 }
 #endregion
 /// <summary>
 /// 导出Word文件类
 /// </summary>
 /// <param name="ds"></param>
 /// <param name="FileName"></param>
 ///
 #region //导出Word文件类
 public void DataSetToWord(DataSet ds,string FileName)
 {
  try
  {
  //Web页面定义
  //System.Web.UI.Page mypage=new System.Web.UI.Page();
  HttpResponse resp;
  resp=HttpContext.Current.Response;
  resp.Clear();
  resp.Buffer=true;
  resp.Charset="utf-8";
  resp.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
  resp.AppendHeader("Content-disposition","attachment;filename="+FileName+".doc");
  resp.ContentType="application/ms-word";
  //变量定义
  string colHeaders=null;
  string Is_item=null;
  //显示格式定义////////////////
  //文件流操作定义
  // FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write);
  //StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
  StringWriter sfw=new StringWriter();
  //定义表对象与行对象,同时用DataSet对其值进行初始化
  System.Data.DataTable dt=ds.Tables[0];
  DataRow[] myRow=dt.Select();
  int i=0;
  int cl=dt.Columns.Count;
  //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
  for(i=0;i<cl;i++)
  {
   //if(i==(cl-1)) //最后一列,加\n
   // colHeaders+=dt.Columns[i].Caption.ToString();
   //else
   colHeaders+=dt.Columns[i].Caption.ToString()+"\t";
  }
  sfw.WriteLine(colHeaders);
  //sw.WriteLine(colHeaders);
  //逐行处理数据
  foreach(DataRow row in myRow)
  {
   //当前数据写入
   for(i=0;i<cl;i++)
   {
   //if(i==(cl-1))
   //  Is_item+=row[i].ToString()+"\n";
   //else
   Is_item+=row[i].ToString()+"\t";
   }
   sfw.WriteLine(Is_item);
   //sw.WriteLine(Is_item);
   Is_item=null;
  }
  resp.Write(sfw);
  //resp.Clear();
  resp.End();
  }
  catch(Exception e)
  {
  throw e;
  }
 }
 #endregion
 /// <summary>
 /// 数据集转换,即把DataSet转换为Word对象
 /// </summary>
 /// <param name="ds"></param>
 /// <param name="titlename"></param>
 ///
 #region // 运行html+css生成Word文件
 public void DataSetToWord(DataSet ds,string FileName,string titlename)
 {
  //调用Office
  //备注:速度太慢放弃应用此方法
  //OWC.Word.Application oWord=new OWC.Word.ApplicationClass();
  //OWC.Word._Document oDoc=new OWC.Word.DocumentClass();
  string ExportFileName=null;
  if(FileName==null || FileName=="")
  ExportFileName="DFSOFT";
  else
  ExportFileName=FileName;
  if(titlename=="" || titlename==null)
  titlename="添加标题处(高级报表)";
  //定义表对象与行对象,同时用DataSet对其值进行初始化
  System.Data.DataTable dt=ds.Tables[0];
  DataRow[] myRow=dt.Select();
  int i=0;
  int cl=dt.Columns.Count;
  #region
//  string FileTitle="<center><table><tr><td><b>报表测试</b></td></tr></table>"+"\n";
//  string EndFile="</center>";
//  //Web页面定义
  HttpResponse resp;
  resp=HttpContext.Current.Response;
  resp.Clear();
  resp.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
  resp.AppendHeader("Content-disposition","attachment;filename="+ExportFileName+".doc");
  resp.ContentType="application/vnd.ms-word";
//  System.IO.StringWriter oSW=new StringWriter();
//   System.Web.UI.HtmlTextWriter oHW=new System.Web.UI.HtmlTextWriter(oSW);
//  System.Web.UI.WebControls.DataGrid oDG=new System.Web.UI.WebControls.DataGrid();
//      oDG.DataSource=ds.Tables[0];
//  oDG.DataBind();
//  oDG.RenderControl(oHW);
//  resp.Write(FileTitle.ToString()+oSW.ToString()+EndFile.ToString());
//  resp.End();
  #endregion
  string BeginTab="<table border='0' cellpadding='0' cellspacing='0' style='border-right:#000000 0.1pt solid;border-top:#000000 0.1pt solid;'>";
  string EndTab="</table>";
  string FileIO=null;
  string MainIO=null;
  string TitleTab="<tr><td style='font-size:13px;' align='center'><b>"+titlename+"</b></td></tr><tr><td align='right' style='font-size:15px;'>"+DateTime.Now.Year.ToString()+"年"+DateTime.Now.Month.ToString()+"月"+DateTime.Now.Day.ToString()+"日    </td></tr>";
  string BeginTr="<tr>";
  string EndTr="</tr>";
  for(i=0;i<cl;i++)
  {
  FileIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'><b>"+dt.Columns[i].Caption.ToString()+"</b></td>";
  }
  FileIO=BeginTr.ToString()+FileIO.ToString()+EndTr.ToString();
  //逐行处理数据
  foreach(DataRow row in myRow)
  {
  string OutIO=null;
  //当前数据写入
  for(i=0;i<cl;i++)
  {
   OutIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'>"+row[i].ToString()+"</td>";
  }
  MainIO+=BeginTr.ToString()+OutIO.ToString()+EndTr.ToString();
  }
  FileIO="<center><table>"+TitleTab.ToString()+"<tr>"+BeginTab.ToString()+FileIO.ToString()+MainIO.ToString()+EndTab.ToString()+"</tr></table></center>";
  resp.Write(FileIO.ToString());
  resp.End();
 }
 #endregion
 }
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》

希望本文所述对大家C#程序设计有所帮助。

(0)

相关推荐

  • C#使用winform简单导出Excel的方法

    本文实例讲述了C#使用winform简单导出Excel的方法.分享给大家供大家参考,具体如下: using Excel; 在项目中引入Excel.dll /// <summary> /// 导出Excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnEx

  • C#实现将数据导出到word或者Excel中的方法

    本文实例讲述了C#实现将数据导出到word或者Excel中的方法.分享给大家供大家参考.具体如下: void OutToWord() { if (dataGridView1.Rows.Count >= 1) { string tempstr =""; Stream myStream; SaveFileDialog dlg =new SaveFileDialog(); dlg.Filter = "(Word文件)*.doc|*.doc"; //dlg.Filte

  • C#使用Aspose.Cells控件读取Excel

    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的功能,读取Excel的数据并导入到Dataset或数据库中.读取Excel表格数据的代码如下: 首先要引入命名空间:using Aspose.Cells; 复制代码 代码如下: Workbook workbook = new Workbook(); workbook.Open("C:\\test.x

  • C#读取Excel的三种方式以及比较分析

    (1)OleDB方式 优点:将Excel直接当做数据源处理,通过SQL直接读取内容,读取速度较快. 缺点:读取数据方式不够灵活,无法直接读取某一个单元格,只有将整个Sheet页读取出来后(结果为Datatable)再在Datatable中根据行列数来获取指定的值. 当Excel数据量很大时.会非常占用内存,当内存不够时会抛出内存溢出的异常. 读取代码如下: public DataTable GetExcelTableByOleDB(string strExcelPath, string tabl

  • C#使用oledb导出数据到excel的方法

    本文实例讲述了C#使用oledb导出数据到excel的方法.分享给大家供大家参考,具体如下: 现在做应用的一半都会碰到数据导出的问题,导出到word阿,导出到excel啊,还有其他的什么.当然导出的类型中还是以ms office的居多.最近在做数据的转换,也碰到这个导出的问题,当然幸运的是不用碰word,这样涉及到就只有xml,csv,tsv和最"痛苦"的excel了. 最开始的想法是xml+xslt,搞定全部,但是有一个问题就是excel只有在xp版本之后支持xml,我不能强制的要求

  • C#实现导入CSV文件到Excel工作簿的方法

    本文实例讲述了C#实现导入CSV文件到Excel工作簿的方法.分享给大家供大家参考.具体如下: 你必须在项目中添加对 Microsoft.Office.Core 的引用:from the .NET tab of the Visual Studio Add Reference dialog box, and the Microsoft Excel 12.0 Object Library (you can use 14.0 if you want, too, but nothing lower).

  • C#给Excel添加水印实例详解

    C#中如何给Excel添加水印 我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观.所以在这篇文章中,我将向您演示来如何通过在Excel中创建和插入页眉图片来为excel添加水印.之前我也分享了如何给word文档添加水印和pdf文件添加水印的方法,有需要也可以参考. 这里我下载了一个E-iceblue公司开发的免费版的Excel组件- Free Spire.XLS,这样既

  • C#实现将DataTable内容输出到Excel表格的方法

    本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法.分享给大家供大家参考.具体如下: 1.关于本文 本文描述了一个函数(SaveToExcel),该函数可以将DataTable数据内的数据输出到Excel表格中 2.相关说明 1)本文中使用这个函数将一个DataTable中的内容输出到路径名为addr的目录下: 复制代码 代码如下: public void SaveToExcel(string addr, System.Data.DataTable dt) 2)这个函数需要

  • C#定制Excel界面并实现与数据库交互的方法

    Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理.统计分析和辅助决策操作,广泛地应用于管理.统计财经.金融等众多领域.(另外,Excel还是伦敦一所会展中心的名称)..NET可以创建Excel Add-In对Excel进行功能扩展,这些扩展的功能包括自定义用户函数,自定义UI,与数据库进行数据交互等. 一 主要的Excel开发方式 1 VBA VBA是一种Visual Basic的宏语言,它是最早的Office提供定制化的一种解决方案,VBA是VB的一个子集,和Visu

  • C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例

    本文实例讲述了C#实现DataSet内数据转化为Excel和Word文件的通用类.分享给大家供大家参考,具体如下: 前不久因为项目的需要写的一个C#把DataSet内数据转化为Excel和Word文件的通用类,这些关于Excel.Word的导出方法,基本可以实现日常须要,其中有些方法可以把数据导出后 生成Xml格式,再导入数据库!有些屏蔽内容没有去掉,保留下来方便学习参考用之. 最后请引用Office相应COM组件,导出Excel对象的一个方法要调用其中的一些方法和属性. using Syste

  • 如何将postgresql数据库表内数据导出为excel格式(推荐)

    在上篇文章给大家介绍了如何将postgresql数据库表内数据导出为excel格式(推荐) 感兴趣的朋友点击查看. 本文主要用于介绍如何使用copy或者\copy命令将postgresql数据库内表的数据导出为excel格式,方便用户查看编辑. copy命令同\copy命令语法上相同,区别在于copy必须使用能够超级用户使用,copy - to file 中的文件都是数据库服务器所在的服务器上的文件,而\copy 一般用户即可执行且\copy 保存或者读取的文件是在客户端所在的服务器.本文主要以

  • C#导出数据到CSV文件的通用类实例

    本文实例讲述了C#导出数据到csv文件的通用类.分享给大家供大家参考.具体如下: 通过这个类可以很简单的定义数据格式,并导出到csv文件 //这里写了一个通用的类 using System; using System.Data; using System.Configuration; using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using S

  • PHP实现实时生成并下载超大数据量的EXCEL文件详解

    前言 最近在工作中接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况.而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成超大数据量的excel文件时这显然是会造成内存溢出的,所以考虑使用让PHP边写入输出流边让浏览器下载的形式来完成需求. 我们通过如下的方式写入PHP输出流 $fp = fopen('php://output', 'a'); fputs($fp, 'strings'); .... ...

  • asp.net实现Gradview绑定数据库数据并导出Excel的方法

    本文实例讲述了asp.net实现Gradview绑定数据库数据并导出Excel的方法.分享给大家供大家参考,具体如下: protected void showData_Click(object sender, EventArgs e) { SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=test;User ID=sa;password=sa"); SqlDataA

  • C#数据导入/导出Excel文件及winForm导出Execl总结

    一.asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,\t分隔的数据,导出execl时,等价于分列,\n等价于换行. 1.将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中. 复制代码 代码如下: Response.Clear(); Response.Buffer= t

  • C#将Sql数据保存到Excel文件中的方法

    本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值.分享给大家供大家参考借鉴之用. 具体功能代码如下: public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为空"; bool fileSaved = false; Microsoft.Office.Interop.Excel.Application xlApp = new Mic

  • 使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以上两个问题. (2)具体步骤如下: 1.第一步,安装openpyxl, 使用pip install openpyxl即可,但是在windows下安装的是2.2.6版本,但是centos自动安装的是4.1版本,(多谢海哥的提醒). 写的代码在windows下运行没问题,但centos上却报错了,说是e

  • Python实现大数据收集至excel的思路详解

    一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入excel的整体步骤 1.整体思路: (1).根据每日调取接口的日期来作为excel文件中:列名为"收集日期"的值 (2).程序默认是每天会定时调取接口并获取接口的返回值并写入excel中(我使用的定时任务是:linux下的contab) (3).针对接口异常未正确返回数据时,使用特殊符号

  • 在Vue里如何把网页的数据导出到Excel的方法

    前言: 在做后台管理的时候,我们往往有需要把网页上面的数据导出到excel这样的需求,真实的企业项目里对应一些导出财务报表.员工信息.交易记录.考勤打卡记录-等等需求,本文将对此做探讨. 开始前补充: 网上是有些牛人已经把这个功能封装成组件了,但每个人的封装逻辑五花八门,组件的功能也很有限,不一定真能完全符合自己的业务需求,找相应的API也很麻烦,存在不太敢用,不会用等问题,那么本文将教你如何自己封装,如何自己自定义相关功能,如何自定义Excel的样式 ,尤其是导出excel后自定义样式,这在一

随机推荐