C铉DataSet内のデータをExcelとWordファイルに変換することができます.

12916 ワード

本論文の実例は、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
{
 /// 
 /// ExportFiles      。
 ///   : DataSet         Excel、Word  
 ///   :    Excel、Word     ,          ,              
 ///      Xml  ,      !          ,            。
 ///   :   Office  COM  ,  Excel                    。
 /// 
 public class ExportFiles
 {
 /// 
 ///
 /// 
 ///
 #region //    
 public ExportFiles()
 {
  //
  // TODO:            
  //
 }
 #endregion
 /// 
 ///   Excel.dll  Excel  
 /// 
 /// 
 ///
 #region //   Excel.dll  Excel  
     /// 
     ///
     /// 
     /// DataSet   
     ///     ( session["username"].Tostring())  null  
     ///         
     ///               ( :Server.MapPath("."))  null  
     ///
     ///          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
 ///   Excel   
 /// 
 /// 
 /// 
 ///
 #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
 ///      ,  DataSet   Excel  
 /// 
 /// 
 /// 
 /// 
 ///
 #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="";
  string EndTab="
"; string FileIO=null; string MainIO=null; string TitleTab=""+titlename+""+DateTime.Now.Year.ToString()+" "+DateTime.Now.Month.ToString()+" "+DateTime.Now.Day.ToString()+"     "; string BeginTr=""; string EndTr=""; for(i=0;i"+dt.Columns[i].Caption.ToString()+""; } FileIO=BeginTr.ToString()+FileIO.ToString()+EndTr.ToString(); // foreach(DataRow row in myRow) { string OutIO=null; // for(i=0;i"+row[i].ToString()+""; } MainIO+=BeginTr.ToString()+OutIO.ToString()+EndTr.ToString(); } FileIO="
"+TitleTab.ToString()+""+BeginTab.ToString()+FileIO.ToString()+MainIO.ToString()+EndTab.ToString()+"
"; resp.Write(FileIO.ToString()); resp.End(); } #endregion /// /// Word /// /// /// /// #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 /// , DataSet Word /// /// /// /// #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="
"+"
"; // string EndFile="
"; // //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=""; string EndTab="
"; string FileIO=null; string MainIO=null; string TitleTab=""+titlename+""+DateTime.Now.Year.ToString()+" "+DateTime.Now.Month.ToString()+" "+DateTime.Now.Day.ToString()+"     "; string BeginTr=""; string EndTr=""; for(i=0;i"+dt.Columns[i].Caption.ToString()+""; } FileIO=BeginTr.ToString()+FileIO.ToString()+EndTr.ToString(); // foreach(DataRow row in myRow) { string OutIO=null; // for(i=0;i"+row[i].ToString()+""; } MainIO+=BeginTr.ToString()+OutIO.ToString()+EndTr.ToString(); } FileIO="
"+TitleTab.ToString()+""+BeginTab.ToString()+FileIO.ToString()+MainIO.ToString()+EndTab.ToString()+"
"; resp.Write(FileIO.ToString()); resp.End(); } #endregion } }
より多くのC〓の内容について興味がある方は、当駅のテーマを確認してください.「C〓操作Excel技術まとめ」、「C〓中XMLファイル操作技巧まとめ」、「C〓よくあるコントロール用法教程」、「WinFormコントロール用法まとめ」、「C〓データ構造とアルゴリズム教程」、「C〓対象プログラム設計入門」、「教程」を使用します.
ここで述べたように、皆さんのC〓プログラムの設計に役に立ちます.