Example #1
0
        //private void exportExcel(string excelFile)
        //{
        //    var selectedUser = this.CodeListBox.SelectedItem as Person;            
        //    var excelApp = new Microsoft.Office.Interop.Excel.Application();
        //    var books = (Microsoft.Office.Interop.Excel.Workbooks)excelApp.Workbooks;
        //    var book = (Microsoft.Office.Interop.Excel._Workbook)(books.Add(System.Type.Missing));
        //    var sheets = (Microsoft.Office.Interop.Excel.Sheets)book.Worksheets;
        //    var sheet = (Microsoft.Office.Interop.Excel._Worksheet)(sheets.get_Item(1));
        //    sheet.Name = "TDB Records";
        //    Microsoft.Office.Interop.Excel._Worksheet screensheet;
        //    if (sheets.Count > 1)
        //    {
        //        screensheet = (Microsoft.Office.Interop.Excel._Worksheet)(sheets.get_Item(2));
        //    }
        //    else
        //    {
        //        screensheet = sheets.Add(System.Type.Missing, sheet, System.Type.Missing, System.Type.Missing);                
        //    }
        //    screensheet.Name = "Screening Records";
        //    patientList.Clear();
        //    ListFiles(new DirectoryInfo(App.reportSettingModel.DataBaseFolder));
            
        //    //tdb文件統計數據
        //    Microsoft.Office.Interop.Excel.Range range = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("A1", "A100");
        //    range.ColumnWidth = 15;
        //    range = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("B1", "B100");
        //    range.ColumnWidth = 30;
        //    range = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("C1", "C100");
        //    range.ColumnWidth = 20;
        //    range = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("D1", "D100");
        //    range.ColumnWidth = 100;
        //    sheet.Cells[1, 1] = App.Current.FindResource("Excel1").ToString();
        //    sheet.Cells[1, 2] = App.Current.FindResource("Excel2").ToString();
        //    sheet.Cells[1, 3] = App.Current.FindResource("Excel4").ToString();
        //    sheet.Cells[1, 4] = App.Current.FindResource("Excel3").ToString();
        //    for (int i = 0; i < patientList.Count; i++)
        //    {
        //        Patient item = patientList[i];
        //        sheet.Cells[i + 2, 1] = item.Code;
        //        sheet.Cells[i + 2, 2] = item.Name;
        //        sheet.Cells[i + 2, 3] = item.ScreenDate;
        //        sheet.Cells[i + 2, 4] = item.Desc;
        //    }

        //    //启动MEIK设备次数
        //    Microsoft.Office.Interop.Excel.Range range1 = (Microsoft.Office.Interop.Excel.Range)screensheet.get_Range("A1", "A100");
        //    range1.ColumnWidth = 100;
        //    range1 = (Microsoft.Office.Interop.Excel.Range)screensheet.get_Range("B1", "B100");
        //    range1.ColumnWidth = 30;
            
        //    screensheet.Cells[1, 1] = App.Current.FindResource("Excel5").ToString();
        //    screensheet.Cells[1, 2] = App.Current.FindResource("Excel6").ToString();
        //    int row = 1;
        //    foreach (KeyValuePair<string, List<long>> item in App.countDictionary)                            
        //    {
        //        screensheet.Cells[row + 1, 1] = item.Key;                
        //        foreach (var tick in item.Value)
        //        {
        //            DateTime screeningTime = new DateTime(tick);
        //            screensheet.Cells[row + 1, 2] = screeningTime.ToString("yyyy-MM-dd HH:mm:ss");                    
        //            row++; 
        //        }                            
        //    }

        //    book.SaveAs(excelFile, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        //    book.Close();
        //    excelApp.Quit();
            
        //}

        private void ListFiles(FileSystemInfo info)
        {
            try
            {
                if (!info.Exists) return;
                IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
                DirectoryInfo dir = info as DirectoryInfo;
                //不是目录 
                if (dir == null) return;
                if (!dir.Name.Equals("NORM"))
                {
                    FileSystemInfo[] files = dir.GetFileSystemInfos();
                    for (int i = 0; i < files.Length; i++)
                    {
                        FileInfo file = files[i] as FileInfo;
                        //是文件 
                        if (file != null)
                        {
                            DateTime beginDate = DateTime.Now;
                            if (".tdb".Equals(file.Extension, StringComparison.OrdinalIgnoreCase))
                            {
                                DateTime fileTime = file.LastWriteTime;
                                beginDate = beginDate.AddMonths(-1);
                                if (beginDate < fileTime)
                                {

                                    FileStream fsRead = new FileStream(file.FullName, FileMode.Open);
                                    byte[] nameBytes = new byte[105];
                                    byte[] codeBytes = new byte[11];
                                    byte[] descBytes = new byte[200];
                                    fsRead.Seek(12, SeekOrigin.Begin);
                                    fsRead.Read(nameBytes, 0, nameBytes.Count());
                                    fsRead.Seek(117, SeekOrigin.Begin);
                                    fsRead.Read(codeBytes, 0, codeBytes.Count());
                                    fsRead.Seek(129, SeekOrigin.Begin);
                                    fsRead.Read(descBytes, 0, descBytes.Count());
                                    fsRead.Close();
                                    string name = System.Text.Encoding.ASCII.GetString(nameBytes);
                                    name = name.Split("\0".ToCharArray())[0];
                                    string code = System.Text.Encoding.ASCII.GetString(codeBytes);
                                    string desc = System.Text.Encoding.ASCII.GetString(descBytes);
                                    desc = desc.Split("\0".ToCharArray())[0];
                                    var patient = new Patient();
                                    patient.Code = code;
                                    patient.Name = name;
                                    patient.Desc = desc;
                                    patient.ScreenDate = fileTime.ToString("yyyy-MM-dd HH:mm:ss");

                                    patientList.Add(patient);
                                }

                            }
                        }
                        //对于子目录,进行递归调用 
                        else
                        {
                            ListFiles(files[i]);
                        }
                    }
                }
            }
            catch { }
        }
 private void ListFiles(FileSystemInfo info, DateTime fromDate, DateTime toDate)
 {
     if (!info.Exists) return;
     DirectoryInfo dir = info as DirectoryInfo;
     //不是目录 
     if (dir == null) return;
     if (!dir.Name.Equals("NORM"))
     {
         FileSystemInfo[] files = dir.GetFileSystemInfos();
         for (int i = 0; i < files.Length; i++)
         {
             FileInfo file = files[i] as FileInfo;
             //是文件 
             if (file != null)
             {
                 if (".tdb".Equals(file.Extension, StringComparison.OrdinalIgnoreCase))
                 {
                     if (file.LastWriteTime >= fromDate && file.LastWriteTime <= toDate)
                     {
                         FileStream fsRead = new FileStream(file.FullName, FileMode.Open);
                         byte[] nameBytes = new byte[105];
                         byte[] codeBytes = new byte[11];
                         byte[] descBytes = new byte[200];
                         fsRead.Seek(12, SeekOrigin.Begin);
                         fsRead.Read(nameBytes, 0, nameBytes.Count());
                         fsRead.Seek(117, SeekOrigin.Begin);
                         fsRead.Read(codeBytes, 0, codeBytes.Count());
                         fsRead.Seek(129, SeekOrigin.Begin);
                         fsRead.Read(descBytes, 0, descBytes.Count());
                         fsRead.Close();
                         string name = System.Text.Encoding.ASCII.GetString(nameBytes);
                         name = name.Split("\0".ToCharArray())[0];
                         string code = System.Text.Encoding.ASCII.GetString(codeBytes);
                         string desc = System.Text.Encoding.ASCII.GetString(descBytes);
                         desc = desc.Split("\0".ToCharArray())[0];
                         var patient = new Patient();
                         patient.Code = code;
                         patient.Name = name;
                         patient.Desc = desc;
                         patient.ScreenDate = file.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
                         patientList.Add(patient);
                         var key = code + ";" + name;
                         if (countDict.ContainsKey(key))
                         {
                             countDict[key] = countDict[key] + 1;
                         }
                         else
                         {
                             countDict.Add(key, 1);
                         }
                     }
                     //times++;
                 }
             }
             //对于子目录,进行递归调用 
             else
             {
                 ListFiles(files[i], fromDate, toDate);
             }
         }
     }
 }