public void ParseFrom(byte[] buffer, int offset, int size) { if (buffer == null) { return; } ProtoBufferReader reader = new ProtoBufferReader(buffer, offset, size); foreach (ProtoBufferObject obj in reader.ProtoBufferObjs) { switch (obj.FieldNumber) { case 1: MailId = obj.Value; break; case 2: SnList.Add(obj.Value); break; case 3: User = new User(); User.ParseFrom(obj.Value); break; default: break; } } }
private void btnSaveReport_Click(object sender, RoutedEventArgs e) { try { //先关掉Excel Process[] procs = Process.GetProcessesByName("excel"); foreach (Process pro in procs) { pro.Kill();//没有更好的方法,只有杀掉进程 GC.Collect(); } Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "xls files(*.xls)|*.xls"; dlg.FileName = "ND1633IQC测试报告" + System.DateTime.Now.ToString("yyyy-MM-dd") + ".xls"; //dlg.InitialDirectory = "D:\\"; dlg.AddExtension = false; dlg.RestoreDirectory = true; System.Nullable <bool> result = dlg.ShowDialog(); if (result == true) { string filePath = dlg.FileName.ToString(); if (File.Exists(filePath)) { File.Delete(filePath); } File.Copy(sourceFilePath, filePath); tbFilePath.Text = filePath; excel = new Microsoft.Office.Interop.Excel.Application(); excel.Visible = false; excel.UserControl = true; object missing = System.Reflection.Missing.Value; wb = excel.Application.Workbooks.Open(tbFilePath.Text.Trim(), missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); Worksheet worksheet = (Worksheet)wb.Worksheets.get_Item(1);//取得第一个工作簿 worksheet.Cells[1, 2] = DateTime.Now.ToString("yyyy/MM/dd"); worksheet.Cells[2, 2] = "1633-PH"; excel.DisplayAlerts = false; wb.Save(); AutoClosedMsgBox.Show("报告生成成功!", "提示", 1000, 64); SnList.Clear(); index = 8; } } catch (System.Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButton.OK, MessageBoxImage.Information); Process[] procs = Process.GetProcessesByName("excel"); foreach (Process pro in procs) { pro.Kill();//没有更好的方法,只有杀掉进程 } } }
public void Execute() { var mail = CommonData.MailList.Find(x => x.MailId == MailId); if (mail != null) { foreach (var gift in mail.GiftList.Where(gift => SnList.Contains(gift.Sn))) { gift.IsObtained = true; } } CommonData.MyUser = User; }