天天看点

一篇比较好的对office 操作的文章

  using  System;

一篇比较好的对office 操作的文章

using  System.Data;

一篇比较好的对office 操作的文章

using  System.Drawing;

一篇比较好的对office 操作的文章

using  System.Data.SqlClient;

一篇比较好的对office 操作的文章

using  Excel;

一篇比较好的对office 操作的文章

using  Word;

一篇比较好的对office 操作的文章

using  System.IO;

一篇比较好的对office 操作的文章

namespace  Common

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

{

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

 /// <summary>

一篇比较好的对office 操作的文章

 /// 把数据导入到.doc、.txt、.xls文件中

一篇比较好的对office 操作的文章

 /// </summary>

一篇比较好的对office 操作的文章

 public class Export

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

 {

一篇比较好的对office 操作的文章

  private const string DATAWORDPATH = @"C:\folder\doc\datadoc\";

一篇比较好的对office 操作的文章

  private const string IMAGEWORDPATH = @"C:\folder\doc\imagedoc\";

一篇比较好的对office 操作的文章

  private const string IMAGEPATH = @"C:\folder\image\";

一篇比较好的对office 操作的文章

  private const string EXCELPATH = @"C:\folder\excel\";

一篇比较好的对office 操作的文章

  private const string TXTPATH = @"C:\folder\txt\";

一篇比较好的对office 操作的文章

  private const string IMAGEPOSTFIX = ".bmp";

一篇比较好的对office 操作的文章

  private const string WORDPOSTFIX = ".doc";

一篇比较好的对office 操作的文章

  private const string EXCELPOSTFIX = ".xls";

一篇比较好的对office 操作的文章

  private const string TXTPOSTFIX = ".txt";

一篇比较好的对office 操作的文章

  private const int DATADISTANCE = 5;

一篇比较好的对office 操作的文章

  private const int TABDISTANCE = 8;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  public Export()

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章

   //

一篇比较好的对office 操作的文章

   // TODO: 在此处添加构造函数逻辑

一篇比较好的对office 操作的文章

   //

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  /// <summary>

一篇比较好的对office 操作的文章

  /// 获得数据集Dataset--------------------------------用于调试

一篇比较好的对office 操作的文章

  /// </summary>

一篇比较好的对office 操作的文章

  /// <returns>Dataset</returns>

一篇比较好的对office 操作的文章

  public DataSet GetData()

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章

   try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    string sConnectionString;

一篇比较好的对office 操作的文章

    sConnectionString = "workstation id=GUOFU;packet size=4096;user id=sa;data source=GUOFU;persist security info=True;initial catalog=YC;password=sc";

一篇比较好的对office 操作的文章

    SqlConnection objConn = new SqlConnection(sConnectionString);

一篇比较好的对office 操作的文章

    objConn.Open();                                            

一篇比较好的对office 操作的文章

    SqlDataAdapter daPoint = new SqlDataAdapter("Select * From Point", objConn);

一篇比较好的对office 操作的文章

    DataSet dsYC = new DataSet("YC");

一篇比较好的对office 操作的文章

    daPoint.FillSchema(dsYC,SchemaType.Mapped, "Point");

一篇比较好的对office 操作的文章

    daPoint.Fill(dsYC,"Point");

一篇比较好的对office 操作的文章

    daPoint = new SqlDataAdapter("Select * From Employee", objConn);

一篇比较好的对office 操作的文章

    daPoint.FillSchema(dsYC,SchemaType.Mapped, "Employee");

一篇比较好的对office 操作的文章

    daPoint.Fill(dsYC,"Employee");

一篇比较好的对office 操作的文章

    return dsYC;

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   catch(Exception ex)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   { 

一篇比较好的对office 操作的文章

    throw new Exception(ex.Message);

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  /// <summary>

一篇比较好的对office 操作的文章

  /// 把数据文件导入到.xls文件

一篇比较好的对office 操作的文章

  /// </summary>

一篇比较好的对office 操作的文章

  /// <param name="ds"></param>

一篇比较好的对office 操作的文章

  public void ExportToExcel(DataSet ds)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

{

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   if(ds.Tables.Count!=0)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    //生成.xls文件完整路径名

一篇比较好的对office 操作的文章

    string tempFileName = GetTempFileName();

一篇比较好的对office 操作的文章

    object filename = EXCELPATH+tempFileName+EXCELPOSTFIX;

一篇比较好的对office 操作的文章

    object Nothing = System.Reflection.Missing.Value;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    //创建excel文件,文件名用系统时间生成精确到毫秒

一篇比较好的对office 操作的文章

    Excel.Application myExcel = new Excel.ApplicationClass();

一篇比较好的对office 操作的文章

    myExcel.Application.Workbooks.Add(Nothing);

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     //把Dataset中的数据插入excel文件中

一篇比较好的对office 操作的文章

     int totalCount = 0;

一篇比较好的对office 操作的文章

     for(int k =0;k<ds.Tables.Count;k++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      int row = ds.Tables[k].Rows.Count;

一篇比较好的对office 操作的文章

      int column = ds.Tables[k].Columns.Count;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      for(int i = 0;i<column;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       myExcel.Cells[totalCount+2,1+i] = ds.Tables[k].Columns[i].ColumnName;

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      for(int i = 0;i<row;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       for(int j =0;j<column;j++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

       {

一篇比较好的对office 操作的文章

        myExcel.Cells[totalCount+3+i,1+j] = "'" + ds.Tables[k].Rows[i][j].ToString();

一篇比较好的对office 操作的文章

       }

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章

      totalCount = totalCount + row +4;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      //保存excel文件到指定的目录下,文件名用系统时间生成精确到毫秒

一篇比较好的对office 操作的文章

      myExcel.ActiveWorkbook._SaveAs(filename,Nothing,Nothing,Nothing,Nothing,Nothing,XlSaveAsAccessMode.xlExclusive,Nothing,Nothing,Nothing,Nothing);

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+EXCELPATH+tempFileName+EXCELPOSTFIX);

一篇比较好的对office 操作的文章

      return;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     //让生成的excel文件可见

一篇比较好的对office 操作的文章

     myExcel.Visible = true;

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章

    catch(Exception e)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     System.Windows.Forms.MessageBox.Show("向excel文件中写入数据出错:  " + e.Message);

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   else

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("No Data");

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  /// <summary>

一篇比较好的对office 操作的文章

  /// 把数据导入到.doc文件

一篇比较好的对office 操作的文章

  /// </summary>

一篇比较好的对office 操作的文章

  /// <param name="ds"></param>

一篇比较好的对office 操作的文章

  public void ExportToWord(DataSet ds)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章

   if(ds.Tables.Count!=0)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {   

一篇比较好的对office 操作的文章

    string tempFileName = null;

一篇比较好的对office 操作的文章

    object filename = null;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    object tableBehavior = Word.WdDefaultTableBehavior.wdWord9TableBehavior;

一篇比较好的对office 操作的文章

    object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitFixed;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    object unit = Word.WdUnits.wdStory;

一篇比较好的对office 操作的文章

    object extend = System.Reflection.Missing.Value;

一篇比较好的对office 操作的文章

    object breakType = (int)Word.WdBreakType.wdSectionBreakNextPage;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    object count = 1;

一篇比较好的对office 操作的文章

    object character = Word.WdUnits.wdCharacter;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    object Nothing =  System.Reflection.Missing.Value;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     tempFileName = GetTempFileName();

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //生成.doc文件完整路径名

一篇比较好的对office 操作的文章

     filename = DATAWORDPATH+tempFileName+WORDPOSTFIX;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //创建一个word文件,文件名用系统时间生成精确到毫秒

一篇比较好的对office 操作的文章

     Word.Application myWord= new Word.ApplicationClass();

一篇比较好的对office 操作的文章

     Word._Document myDoc = new Word.DocumentClass();

一篇比较好的对office 操作的文章

     myDoc = myWord.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing); 

一篇比较好的对office 操作的文章

     myDoc.Activate();

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //向把dataset中的表插入到word的文件中

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     for(int totalTable = 0;totalTable<ds.Tables.Count;totalTable++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      myWord.Application.Selection.TypeText(ds.Tables[totalTable].TableName+"表的数据如下");

一篇比较好的对office 操作的文章

      myWord.Application.Selection.TypeParagraph();     

一篇比较好的对office 操作的文章

      myWord.Application.Selection.TypeParagraph();

一篇比较好的对office 操作的文章

      Word.Range para = myWord.Application.Selection.Range;

一篇比较好的对office 操作的文章

      myDoc.Tables.Add(para,ds.Tables[totalTable].Rows.Count+1,ds.Tables[totalTable].Columns.Count,ref tableBehavior,ref autoFitBehavior);

一篇比较好的对office 操作的文章

      for(int column = 0; column<ds.Tables[totalTable].Columns.Count;column++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       myDoc.Tables.Item(totalTable+1).Cell(1,column+1).Range.InsertBefore(ds.Tables[0].Columns[column].ColumnName.Trim());

一篇比较好的对office 操作的文章

      }    

一篇比较好的对office 操作的文章

      for(int row = 0;row<ds.Tables[totalTable].Rows.Count;row++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       for(int column = 0;column<ds.Tables[totalTable].Columns.Count;column++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

       {

一篇比较好的对office 操作的文章

        myDoc.Tables.Item(totalTable+1).Cell(row+2,column+1).Range.InsertBefore(ds.Tables[totalTable].Rows[row][column].ToString().Trim());

一篇比较好的对office 操作的文章

       }

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章

      myWord.Application.Selection.EndKey(ref unit,ref extend);

一篇比较好的对office 操作的文章

      myWord.Application.Selection.TypeParagraph();

一篇比较好的对office 操作的文章

      myWord.Application.Selection.TypeParagraph();

一篇比较好的对office 操作的文章

      myWord.Application.Selection.InsertBreak(ref breakType);    

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     myWord.Application.Selection.TypeBackspace();

一篇比较好的对office 操作的文章

     myWord.Application.Selection.Delete(ref character,ref count);

一篇比较好的对office 操作的文章

     myWord.Application.Selection.HomeKey(ref unit,ref extend);

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //保存word文件到指定的目录下

一篇比较好的对office 操作的文章

     try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      myDoc.SaveAs(ref filename,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);

一篇比较好的对office 操作的文章

      myWord.Visible = true;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+DATAWORDPATH+tempFileName+WORDPOSTFIX);

一篇比较好的对office 操作的文章

      return;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     //让生成的excel文件可见

一篇比较好的对office 操作的文章

     myWord.Visible = true;

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章

    catch(Exception ex)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     System.Windows.Forms.MessageBox.Show("向word文件中写入数据出错:  " + ex.Message);

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   else

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("No Data");

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  /// <summary>

一篇比较好的对office 操作的文章

  /// 把图片文件导入到.doc文件

一篇比较好的对office 操作的文章

  /// </summary>

一篇比较好的对office 操作的文章

  /// <param name="bp"></param>

一篇比较好的对office 操作的文章

  public void ExportToWord(Bitmap bp)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章

   string tempFileName = null;

一篇比较好的对office 操作的文章

   string bmpPath = null;

一篇比较好的对office 操作的文章

   object filename = null;

一篇比较好的对office 操作的文章

   object Nothing = null;

一篇比较好的对office 操作的文章

   tempFileName = GetTempFileName();

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   //生成.bmp文件完整路径名

一篇比较好的对office 操作的文章

   bmpPath = IMAGEPATH+tempFileName+IMAGEPOSTFIX;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   //生成.doc文件完整路径名

一篇比较好的对office 操作的文章

   filename = IMAGEWORDPATH+tempFileName+WORDPOSTFIX;

一篇比较好的对office 操作的文章

   Nothing = System.Reflection.Missing.Value;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   //创建一个word文件,文件名用系统时间生成精确到毫秒

一篇比较好的对office 操作的文章

   Word.Application myWord= new Word.ApplicationClass();

一篇比较好的对office 操作的文章

   Word._Document myDoc = new Word.DocumentClass();

一篇比较好的对office 操作的文章

   myDoc = myWord.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);  

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    //把bitmap对象保存到系统所生成文件完整路径中

一篇比较好的对office 操作的文章

    bp.Save(bmpPath);

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+bmpPath);

一篇比较好的对office 操作的文章

    return;

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    //往word文件中插入图片

一篇比较好的对office 操作的文章

    myDoc.InlineShapes.AddPicture(bmpPath,ref Nothing,ref Nothing,ref Nothing);

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+bmpPath);

一篇比较好的对office 操作的文章

    return;

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    //保存word文件到指定的目录下

一篇比较好的对office 操作的文章

    myDoc.SaveAs(ref filename,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+IMAGEWORDPATH+tempFileName+WORDPOSTFIX);

一篇比较好的对office 操作的文章

    return;

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   //让生成的word文件可见

一篇比较好的对office 操作的文章

   myWord.Visible = true;

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  /// <summary>

一篇比较好的对office 操作的文章

  /// 把数据文件导入到.txt文件

一篇比较好的对office 操作的文章

  /// </summary>

一篇比较好的对office 操作的文章

  /// <param name="ds"></param>

一篇比较好的对office 操作的文章

  public void ExportToTxt(DataSet ds)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   if(ds.Tables.Count!=0)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    string tempFileName = null;

一篇比较好的对office 操作的文章

    tempFileName = GetTempFileName();

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    //创建一个.txt文件,文件名用系统时间生成精确到毫秒

一篇比较好的对office 操作的文章

    FileInfo file = new FileInfo(TXTPATH+tempFileName+TXTPOSTFIX);

一篇比较好的对office 操作的文章

    StreamWriter textFile = null;

一篇比较好的对office 操作的文章

    try

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     textFile = file.CreateText();

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章

    catch

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件:  "+TXTPATH+tempFileName+TXTPOSTFIX);

一篇比较好的对office 操作的文章

     return;

一篇比较好的对office 操作的文章

    } 

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    //把Dataset中的数据写入.txt文件中

一篇比较好的对office 操作的文章

    for(int totaltable = 0;totaltable<ds.Tables.Count;totaltable++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    {

一篇比较好的对office 操作的文章

     //统计dataset中当前表的行数

一篇比较好的对office 操作的文章

     int row = ds.Tables[totaltable].Rows.Count;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //统计dataset中当前表的列数

一篇比较好的对office 操作的文章

     int column = ds.Tables[totaltable].Columns.Count;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //用于统计当前表中每列记录中字符数最长的字符串的长度之和

一篇比较好的对office 操作的文章

     int totalLength = 0;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //用于统计标题的长度(dataset中的表名的length+"表的数据如下"的length)

一篇比较好的对office 操作的文章

     int titleLength = 0;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //统计每列记录中字符数最长的字符串的长度

一篇比较好的对office 操作的文章

     int[] columnLength = new int[column];

一篇比较好的对office 操作的文章

     for(int i = 0;i<column;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      columnLength[i] = ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     for(int i = 0;i<row;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      for(int j = 0;j<column;j++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       if(ds.Tables[totaltable].Rows[i][j].ToString().Length>columnLength[j])

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

       {

一篇比较好的对office 操作的文章

        columnLength[j]=ds.Tables[totaltable].Rows[i][j].ToString().Length;

一篇比较好的对office 操作的文章

       }

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //统计当前表中每列记录中字符数最长的字符串的长度之和

一篇比较好的对office 操作的文章

     for(int i = 0;i<column;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      totalLength = totalLength+columnLength[i]+DATADISTANCE;

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     totalLength = totalLength+2*TABDISTANCE-DATADISTANCE;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //统计标题的长度(dataset中的当前表名的length+"表的数据如下"的length)

一篇比较好的对office 操作的文章

     titleLength = ds.Tables[totaltable].TableName.ToString().Length+"表的数据如下".Length*2;

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //把标题写入.txt文件中

一篇比较好的对office 操作的文章

     for(int i = 0;i<(int)((totalLength-titleLength)/2);i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      textFile.Write(' ');

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.Write(ds.Tables[totaltable].TableName+"表的数据如下");

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     for(int i = 0;i<totalLength;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      textFile.Write('*');

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     textFile.Write("\t");

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //把dataset中当前表的字段名写入.txt文件中

一篇比较好的对office 操作的文章

     for(int i = 0;i<column;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      textFile.Write(ds.Tables[totaltable].Columns[i].ColumnName.ToString());

一篇比较好的对office 操作的文章

      for(int k = 0;k<columnLength[i]-ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length+DATADISTANCE;k++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       textFile.Write(' ');

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     for(int i = 0;i<totalLength;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      textFile.Write('-');

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     textFile.Write("\t");

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     //把dataset中当前表的数据写入.txt文件中

一篇比较好的对office 操作的文章

     for(int i = 0;i<row;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      for(int j = 0;j<column;j++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

      {

一篇比较好的对office 操作的文章

       textFile.Write(ds.Tables[totaltable].Rows[i][j].ToString());

一篇比较好的对office 操作的文章

       for(int k = 0;k<columnLength[j]-ds.Tables[totaltable].Rows[i][j].ToString().Length+DATADISTANCE;k++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

       {

一篇比较好的对office 操作的文章

        textFile.Write(' ');

一篇比较好的对office 操作的文章

       }

一篇比较好的对office 操作的文章

      }

一篇比较好的对office 操作的文章

      textFile.WriteLine();

一篇比较好的对office 操作的文章

      textFile.Write("\t");

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     for(int i = 0;i<totalLength;i++)

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

     {

一篇比较好的对office 操作的文章

      textFile.Write('-');

一篇比较好的对office 操作的文章

     }

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

     textFile.WriteLine();

一篇比较好的对office 操作的文章

    }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

    //关闭当前的StreamWriter流

一篇比较好的对office 操作的文章

    textFile.Close();

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("数据文件已保存到"+"   "+file.FullName);                 

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

   else

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

   {

一篇比较好的对office 操作的文章

    System.Windows.Forms.MessageBox.Show("No Data");

一篇比较好的对office 操作的文章

   }

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  public string GetTempFileName()

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

  {

一篇比较好的对office 操作的文章

   return DateTime.Now.ToString("yyyyMMddhhmmssfff");

一篇比较好的对office 操作的文章

  }

一篇比较好的对office 操作的文章

 }

一篇比较好的对office 操作的文章

}

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

补充:使用以上方法必须对dcom进行配置,给用户使用office的权限。 

一篇比较好的对office 操作的文章

具体配置方法如下: 

一篇比较好的对office 操作的文章

1 :在服务器上安装office的Excel软件. 

一篇比较好的对office 操作的文章

2 :在 " 开始 " -> " 运行 " 中输入dcomcnfg.exe启动 " 组件服务 "  

一篇比较好的对office 操作的文章

3 :依次双击 " 组件服务 " -> " 计算机 " -> " 我的电脑 " -> " DCOM配置 "  

一篇比较好的对office 操作的文章

4 :在 " DCOM配置 " 中找到 " Microsoft Excel 应用程序 " ,在它上面点击右键,然后点击 " 属性 " ,弹出 " Microsoft Excel 应用程序属性 " 对话框 

一篇比较好的对office 操作的文章

5 :点击 " 标识 " 标签,选择 " 交互式用户 "  

一篇比较好的对office 操作的文章

6 :点击 " 安全 " 标签,在 " 启动和激活权限 " 上点击 " 自定义 " ,然后点击对应的 " 编辑 " 按钮,在弹出的 " 安全性 " 对话框中填加一个 " NETWORK SERVICE " 用户(注意要选择本计算机名),并给它赋予 " 本地启动 " 和 " 本地激活 " 权限. 

一篇比较好的对office 操作的文章

7 :依然是 " 安全 " 标签,在 " 访问权限 " 上点击 " 自定义 " ,然后点击 " 编辑 " ,在弹出的 " 安全性 " 对话框中也填加一个 " NETWORK SERVICE " 用户,然后赋予 " 本地访问 " 权限. 

一篇比较好的对office 操作的文章

这样,我们便配置好了相应的Excel的DCOM权限. 

一篇比较好的对office 操作的文章

注意:我是在WIN2003上配置的,在2000上,是配置ASPNET用户 

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

若不进行配置会出现错误 

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

检索 COM 类工厂中 CLSID 为  {00024500-0000-0000-C000-000000000046}  的组件时失败,原因是出现以下错误:  80070005 。 

一篇比较好的对office 操作的文章

原因是用户没有使用Excel的权限。 

一篇比较好的对office 操作的文章

导出到word同样要配置使用word的权限。  

一篇比较好的对office 操作的文章

继续补充: 导出到txt我用了上面的方法有问题, 

一篇比较好的对office 操作的文章

try  

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

一篇比较好的对office 操作的文章

textFile = file.CreateText(); 

一篇比较好的对office 操作的文章

}  

一篇比较好的对office 操作的文章

catch  

一篇比较好的对office 操作的文章
一篇比较好的对office 操作的文章

一篇比较好的对office 操作的文章

System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件: "+TXTPATH+tempFileName+TXTPOSTFIX); 

一篇比较好的对office 操作的文章

return; 

一篇比较好的对office 操作的文章

}  

一篇比较好的对office 操作的文章

转载于:https://www.cnblogs.com/meiproject/archive/2008/02/05/1064857.html

继续阅读