WinForm导出文件为Word、Excel、文本文件的方法

2021-07-21 02:11

阅读:703

标签:services   list   +=   泛型接口   正则   path   xls   error   lis   

好久没有写文章了,下面把自己最近程序中用到的一个小小的导出文件的方法给在家分享一下,欢迎大家来排砖,谢谢~不说废话了,直接上代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using Microsoft.Office.Interop.Word;
using System.IO;
using Microsoft.Office.Interop.Excel;
using Sun.Winform.Util;
namespace Sun.Winform.Files
{
  /// 
/// 将内容导出为文件类。
/// 
/// 
/// 作者:SunYujing
/// 日期:2011-12-18
/// 
  public class ExportFile
  {
    /// 
/// 将字符串存储为word文档格式的文件的方法(多线程)。
/// 
/// 要保存的字符串内容。
    public static void SaveAsWord(string p_str)
    {
      Thread thread = new Thread(SaveAsWordFile);
      thread.SetApartmentState(ApartmentState.STA);
      thread.Start(p_str);
    }
    /// 
/// 将字符串存储为txt格式的文件的方法(多线程)。
/// 
/// 
    public static void SaveAsTxt(string p_str)
    {
      Thread thread = new Thread(SaveAsTxtFile);
      thread.SetApartmentState(ApartmentState.STA);
      thread.Start(p_str);
    }
    /// 
/// 导出数据表数据到Excel(多线程)。
/// 
    public static void SaveAsExcel(System.Data.DataTable dataTable)
    {
      if (dataTable == null)
      {
        MessageUtil.ShowError("请先指定要导出的数据表");
        return;
      }
      Thread thread = new Thread(SaveAsExcelTableFile);
      thread.SetApartmentState(ApartmentState.STA);
      thread.Start(dataTable);
    }
    /// 
/// 导出数据集数据到Excel(多线程)。
/// 
    public static void SaveAsExcel(System.Data.DataSet dataSet)
    {
      if (dataSet == null)
      {
        MessageUtil.ShowError("请先指定要导出的数据集");
        return;
      }
      Thread thread = new Thread(SaveAsExcelSetFile);
      thread.SetApartmentState(ApartmentState.STA);
      thread.Start(dataSet);
    }
    /// 
/// 将字符串存储为word文档格式的文件。
/// 
/// 要保存的字符串内容。
    private static void SaveAsWordFile(object strtext)
    {
      SaveFileDialog sfd = new SaveFileDialog();
      sfd.Title = "请选择文件存放路径";
      sfd.FileName = "导出数据";
      sfd.Filter = "Word文档(*.doc)|*.doc";
      if (sfd.ShowDialog() != DialogResult.OK)
      {
        return;
      }
      string FileName = sfd.FileName.ToLower();
      if (!FileName.Contains(".doc"))
      {
        FileName += ".doc";
      }
      if (FileName.Substring(FileName.LastIndexOf(Path.DirectorySeparatorChar)).Length 
/// 将字符串存储为txt文档格式的文件。
/// 
/// 要保存的字符串内容。
    private static void SaveAsTxtFile(object strtext)
    {
      SaveFileDialog sfd = new SaveFileDialog();
      sfd.Title = "请选择文件存放路径";
      sfd.FileName = "导出数据";
      sfd.Filter = "文本文档(*.txt)|*.txt";
      if (sfd.ShowDialog() != DialogResult.OK)
      {
        return;
      }
      string FileName = sfd.FileName.ToLower();
      if (!FileName.Contains(".txt"))
      {
        FileName += ".txt";
      }
      if (FileName.Substring(FileName.LastIndexOf(Path.DirectorySeparatorChar)).Length 
/// 将数据存储为Excel文件。
/// 
/// 要保存的数据表。
    private static void SaveAsExcelTableFile(object p_dt)
    {
      System.Data.DataTable dt = (System.Data.DataTable)p_dt;
      if (dt.Rows.Count == 0)
      {
        MessageUtil.ShowError("没有可保存的数据");
        return;
      }
      SaveFileDialog sfd = new SaveFileDialog();
      sfd.Title = "请选择文件存放路径";
      sfd.FileName = "导出数据";
      sfd.Filter = "Excel文档(*.xls)|*.xls";
      if (sfd.ShowDialog() != DialogResult.OK)
      {
        return;
      }
      string FileName = sfd.FileName.ToLower();
      if (!FileName.Contains(".xls"))
      {
        FileName += ".xls";
      }
      if (FileName.Substring(FileName.LastIndexOf(Path.DirectorySeparatorChar)).Length 
/// 将数据集存储为Excel文件。
/// 
/// 要导出的数据集。
    private static void SaveAsExcelSetFile(object p_ds)
    {
      System.Data.DataSet ds = (System.Data.DataSet)p_ds;
      if (ds == null || ds.Tables.Count == 0)
      {
        MessageUtil.ShowError("没有可保存的数据");
        return;
      }
      SaveFileDialog sfd = new SaveFileDialog();
      sfd.Title = "请选择文件存放路径";
      sfd.FileName = "导出数据";
      sfd.Filter = "Excel文档(*.xls)|*.xls";
      if (sfd.ShowDialog() != DialogResult.OK)
      {
        return;
      }
      string FileName = sfd.FileName.ToLower();
      if (!FileName.Contains(".xls"))
      {
        FileName += ".xls";
      }
      if (FileName.Substring(FileName.LastIndexOf(Path.DirectorySeparatorChar)).Length 

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  WinForm导出文件为Word、Excel、文本文件的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23123.html




相关内容

技术分享图片
一个状态机的实现
技术分享图片
C# List 排序各种用法与比较
技术分享图片
c# 计算时间间隔的简单方法(推荐)
技术分享图片
C#使用正则表达式过滤html标签

技术分享图片
C#向线程中传递多个参数的解决方法(两种)
技术分享图片
深入解析C#中的泛型类与泛型接口
技术分享图片
C#中dotnetcharting的用法实例详解
技术分享图片
C#的path.GetFullPath 获取上级目录实现方法

WinForm导出文件为Word、Excel、文本文件的方法

标签:services   list   +=   泛型接口   正则   path   xls   error   lis   

原文地址:http://www.cnblogs.com/paobuke/p/8035572.html


评论


亲,登录后才可以留言!