2016-03-08 27 views
-1

我需要使用源数据(基本上是具有不同列和数据的数据库表或csv文件),然后创建不同的文件(让它们称为目标文件)基于源数据的不同格式(文本,excel,pdf等),使用源数据中的列到目标文件中的列的映射。格式和没有。的列对于不同的目标文件会有所不同,但源数据对于所有目标文件都是相同的。如果将来需要创建新的目标文件,解决方案设计应该如同为新文件添加另一个模板并添加到现有模板集一样简单。使用自定义模板以不同格式从源生成不同文件

以上方法有什么想法吗?源数据 - 可以是SQL数据库表或CSV文件。需要用C#编写.NET

回答

0

我喜欢用我的CSV阅读器,它需要一个CSV文件并放入DataTable中。

public class CSVReader 
    { 

     public DataSet ReadCSVFile(string fullPath, bool headerRow) 
     { 

      string path = fullPath.Substring(0, fullPath.LastIndexOf("\\") + 1); 
      string filename = fullPath.Substring(fullPath.LastIndexOf("\\") + 1); 
      DataSet ds = new DataSet(); 

      try 
      { 
       if (File.Exists(fullPath)) 
       { 
        string ConStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}" + ";Extended Properties=\"Text;HDR={1};FMT=Delimited\\\"", path, headerRow ? "Yes" : "No"); 
        string SQL = string.Format("SELECT * FROM {0}", filename); 
        OleDbDataAdapter adapter = new OleDbDataAdapter(SQL, ConStr); 
        adapter.Fill(ds, "TextFile"); 
        ds.Tables[0].TableName = "Table1"; 
       } 
       foreach (DataColumn col in ds.Tables["Table1"].Columns) 
       { 
        col.ColumnName = col.ColumnName.Replace(" ", "_"); 
       } 
      } 

      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
      return ds; 
     } 
    } 
+0

谢谢你的回应,但遗憾的是,这不是我正在寻找 – ConstantLearner

相关问题