From bc2ac5b7824b8239e25dc48db043360dd83c5d49 Mon Sep 17 00:00:00 2001 From: aj Date: Sun, 10 Jun 2018 19:05:05 -0400 Subject: [PATCH] Save file name in excel file. --- ExportDXF/Forms/MainForm.cs | 56 ++++++++++++++++++--------- ExportDXF/Item.cs | 20 +++++----- ExportDXF/Templates/BomTemplate.xlsx | Bin 9775 -> 9757 bytes 3 files changed, 49 insertions(+), 27 deletions(-) diff --git a/ExportDXF/Forms/MainForm.cs b/ExportDXF/Forms/MainForm.cs index 814dc18..cfedd47 100644 --- a/ExportDXF/Forms/MainForm.cs +++ b/ExportDXF/Forms/MainForm.cs @@ -313,10 +313,8 @@ namespace ExportDXF.Forms if (worker.CancellationPending) break; - item.ItemNo = prefix + item.ItemNo; - - var fileName = item.ItemNo + ".dxf"; - var savepath = Path.Combine(savePath, fileName); + var fileName = GetFileName(item); + var savepath = Path.Combine(savePath, fileName + ".dxf"); var model = item.Component.GetModelDoc2() as ModelDoc2; var part = model as PartDoc; @@ -351,7 +349,11 @@ namespace ExportDXF.Forms if (part == null) continue; - SavePartToDXF(part, config, savepath); + if (SavePartToDXF(part, config, savepath)) + { + item.FileName = Path.GetFileNameWithoutExtension(savepath); + } + Application.DoEvents(); } @@ -368,6 +370,20 @@ namespace ExportDXF.Forms } } + private string GetFileName(Item item) + { + var prefix = prefixTextBox.Text.Replace("\"", "''"); + + if (string.IsNullOrWhiteSpace(item.ItemNo)) + { + return prefix + item.PartName; + } + else + { + return prefix + item.ItemNo.PadLeft(2, '0'); + } + } + private string ChangePathExtension(string fullpath, string newExtension) { var dir = Path.GetDirectoryName(fullpath); @@ -451,25 +467,30 @@ namespace ExportDXF.Forms { var item = items[i]; var row = i + 2; + var col = 1; - partsSheet.Cells[row, 1].Value = item.ItemNo; - partsSheet.Cells[row, 2].Value = item.Quantity; - partsSheet.Cells[row, 3].Value = item.Description; - partsSheet.Cells[row, 4].Value = item.PartNo; + partsSheet.Cells[row, col++].Value = item.ItemNo; + partsSheet.Cells[row, col++].Value = item.FileName; + partsSheet.Cells[row, col++].Value = item.Quantity; + partsSheet.Cells[row, col++].Value = item.Description; + partsSheet.Cells[row, col++].Value = item.PartName; if (item.Thickness > 0) - partsSheet.Cells[row, 5].Value = item.Thickness; + partsSheet.Cells[row, col].Value = item.Thickness; + col++; - partsSheet.Cells[row, 6].Value = item.Material; + partsSheet.Cells[row, col++].Value = item.Material; if (item.KFactor > 0) - partsSheet.Cells[row, 7].Value = item.KFactor; + partsSheet.Cells[row, col].Value = item.KFactor; + col++; if (item.BendRadius > 0) - partsSheet.Cells[row, 8].Value = item.BendRadius; + partsSheet.Cells[row, col].Value = item.BendRadius; + col++; } - partsSheet.Column(1).AutoFit(); + partsSheet.Column(2).AutoFit(); workbook.Calculate(); pkg.Save(); @@ -583,10 +604,10 @@ namespace ExportDXF.Forms { items.Add(new Item { - PartNo = table.DisplayedText[rowIndex, partNoColumnIndex], + PartName = table.DisplayedText[rowIndex, partNoColumnIndex], Quantity = int.Parse(table.DisplayedText[rowIndex, qtyColumnIndex]), Description = table.DisplayedText[rowIndex, descriptionColumnIndex], - ItemNo = table.DisplayedText[rowIndex, itemNoColumnIndex].PadLeft(2, '0'), + ItemNo = table.DisplayedText[rowIndex, itemNoColumnIndex], Component = distinctComponents.First() }); } @@ -623,8 +644,7 @@ namespace ExportDXF.Forms list.Add(new Item { - ItemNo = name, - PartNo = name, + PartName = name, Quantity = group.Count(), Component = component }); diff --git a/ExportDXF/Item.cs b/ExportDXF/Item.cs index df9ab21..ed9cbde 100644 --- a/ExportDXF/Item.cs +++ b/ExportDXF/Item.cs @@ -2,24 +2,26 @@ namespace ExportDXF { - public class Item + public class Item { - public string ItemNo { get; set; } + public string ItemNo { get; set; } - public string PartNo { get; set; } + public string FileName { get; set; } + + public string PartName { get; set; } public int Quantity { get; set; } - public string Description { get; set; } + public string Description { get; set; } - public double Thickness { get; set; } + public double Thickness { get; set; } - public double KFactor { get; set; } + public double KFactor { get; set; } - public double BendRadius { get; set; } + public double BendRadius { get; set; } - public string Material { get; set; } + public string Material { get; set; } - public Component2 Component { get; set; } + public Component2 Component { get; set; } } } diff --git a/ExportDXF/Templates/BomTemplate.xlsx b/ExportDXF/Templates/BomTemplate.xlsx index c37ad5c694206c9c3fbae4c8c1db1f27e2352684..b7e4c8cef0b011ac6c1b8221b9f50c72c8b3e84b 100644 GIT binary patch delta 2436 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