Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            using (FileStream stream = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp.xlsx"), FileMode.Open),
                   stream2 = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp2.xlsx"), FileMode.Open)
                   )
            {
                using (XmlDataTable <Person> table = XmlDataTable <Person> .LoadFrom(stream), table2 = XmlDataTable <Person> .LoadFrom(stream2))
                {
                    var entries = table.Get();

                    table.Merge(table2.Get().Select(t => t.Data).ToList(), EqualIf: (p1, p2) =>
                    {
                        return(p1.SequenceNo > 0 && p2.SequenceNo > 0 && p1.SequenceNo == p2.SequenceNo);
                    }, LatestIf: (p1, p2) => {
                        return(!default(DateTime).Equals(p1));
                    });

                    table.Save();
                }
            }
        }
Ejemplo n.º 2
0
 //=====================================================================
 //  FunctionName : ConvertDataGridViewToDataTable
 /// <summary>
 /// 将DataGridView数据转换成DataTable数据
 /// </summary>
 //=====================================================================
 public void ConvertDataGridViewToDataTable()
 {
     foreach (DataGridViewColumn dgvcTemp in XmlDataGridView.Columns)
     {
         if (dgvcTemp.ValueType == null)
         {
             XmlDataTable.Columns.Add(dgvcTemp.Name);
         }
         else
         {
             XmlDataTable.Columns.Add(dgvcTemp.Name, dgvcTemp.ValueType);
         }
     }
     foreach (DataGridViewRow dgvrTemp in XmlDataGridView.Rows)
     {
         DataRow drTemp = XmlDataTable.NewRow();
         foreach (DataGridViewCell dgvcTemp in dgvrTemp.Cells)
         {
             if (dgvcTemp.Value == null)
             {
                 if (dgvcTemp.ValueType == System.Type.GetType("System.Boolean"))
                 {
                     drTemp[dgvcTemp.ColumnIndex] = "false";
                 }
                 else
                 {
                     drTemp[dgvcTemp.ColumnIndex] = DBNull.Value;
                 }
             }
             else
             {
                 drTemp[dgvcTemp.ColumnIndex] = dgvcTemp.Value;
             }
         }
         XmlDataTable.Rows.Add(drTemp);
     }
 }
Ejemplo n.º 3
0
 //=====================================================================
 //  FunctionName : SaveDataTableToXml
 /// <summary>
 /// 将DataTable数据保存为XML文件
 /// </summary>
 //=====================================================================
 public void SaveDataTableToXml()
 {
     ConvertDataGridViewToDataTable();
     XmlDataTable.WriteXml(FileName, XmlWriteMode.WriteSchema);
 }
Ejemplo n.º 4
0
 //=====================================================================
 //  FunctionName : LoadXmlToDataTable
 /// <summary>
 /// 将XML文件读取为DataTable数据
 /// </summary>
 //=====================================================================
 public void LoadXmlToDataTable()
 {
     XmlDataTable.ReadXml(FileName);
     ConvertDataTableToDataGridView();
 }