- 리포트에서 Trend 그래프 정리
This commit is contained in:
90
ExcelHelper.cs
Normal file
90
ExcelHelper.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using OfficeOpenXml;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace friction
|
||||
{
|
||||
public class ExcelHelper
|
||||
{
|
||||
//The correct method to convert width to pixel is:
|
||||
//Pixel =Truncate(((256 * {width} + Truncate(128/{Maximum DigitWidth}))/256)*{Maximum Digit Width})
|
||||
|
||||
//The correct method to convert pixel to width is:
|
||||
//1. use the formula =Truncate(({pixels}-5)/{Maximum Digit Width} * 100+0.5)/100
|
||||
// to convert pixel to character number.
|
||||
//2. use the formula width = Truncate([{Number of Characters} * {Maximum Digit Width} + {5 pixel padding}]/{Maximum Digit Width}*256)/256
|
||||
// to convert the character number to width.
|
||||
|
||||
public const int MTU_PER_PIXEL = 9525;
|
||||
|
||||
public static int ColumnWidth2Pixel(ExcelWorksheet ws, double excelColumnWidth)
|
||||
{
|
||||
//The correct method to convert width to pixel is:
|
||||
//Pixel =Truncate(((256 * {width} + Truncate(128/{Maximum DigitWidth}))/256)*{Maximum Digit Width})
|
||||
|
||||
//get the maximum digit width
|
||||
decimal mdw = ws.Workbook.MaxFontWidth;
|
||||
|
||||
//convert width to pixel
|
||||
decimal pixels = decimal.Truncate(((256 * (decimal)excelColumnWidth + decimal.Truncate(128 / mdw)) / 256) * mdw);
|
||||
//double columnWidthInTwips = (double)(pixels * (1440f / 96f));
|
||||
|
||||
return Convert.ToInt32(pixels);
|
||||
|
||||
}
|
||||
|
||||
public static double Pixel2ColumnWidth(ExcelWorksheet ws, int pixels)
|
||||
{
|
||||
//The correct method to convert pixel to width is:
|
||||
//1. use the formula =Truncate(({pixels}-5)/{Maximum Digit Width} * 100+0.5)/100
|
||||
// to convert pixel to character number.
|
||||
//2. use the formula width = Truncate([{Number of Characters} * {Maximum Digit Width} + {5 pixel padding}]/{Maximum Digit Width}*256)/256
|
||||
// to convert the character number to width.
|
||||
|
||||
//get the maximum digit width
|
||||
decimal mdw = ws.Workbook.MaxFontWidth;
|
||||
|
||||
//convert pixel to character number
|
||||
decimal numChars = decimal.Truncate(decimal.Add((pixels - 5) / mdw * 100, (decimal)0.5)) / 100;
|
||||
//convert the character number to width
|
||||
decimal excelColumnWidth = decimal.Truncate((decimal.Add(numChars * mdw, 5)) / mdw * 256) / 256;
|
||||
|
||||
return Convert.ToDouble(excelColumnWidth);
|
||||
}
|
||||
|
||||
public static int RowHeight2Pixel(double excelRowHeight)
|
||||
{
|
||||
//convert height to pixel
|
||||
decimal pixels = decimal.Truncate((decimal)(excelRowHeight / 0.75));
|
||||
|
||||
return Convert.ToInt32(pixels);
|
||||
}
|
||||
|
||||
public static double Pixel2RowHeight(int pixels)
|
||||
{
|
||||
//convert height to pixel
|
||||
double excelRowHeight = pixels * 0.75;
|
||||
|
||||
return excelRowHeight;
|
||||
}
|
||||
|
||||
public static int MTU2Pixel(int mtus)
|
||||
{
|
||||
//convert MTU to pixel
|
||||
decimal pixels = decimal.Truncate(mtus / MTU_PER_PIXEL);
|
||||
|
||||
return Convert.ToInt32(pixels);
|
||||
}
|
||||
|
||||
public static int Pixel2MTU(int pixels)
|
||||
{
|
||||
//convert pixel to MTU
|
||||
int mtus = pixels * MTU_PER_PIXEL;
|
||||
|
||||
return mtus;
|
||||
}
|
||||
}
|
||||
}
|
||||
6
MainForm.Designer.cs
generated
6
MainForm.Designer.cs
generated
@@ -304,8 +304,8 @@
|
||||
// allToolStripMenuItem
|
||||
//
|
||||
this.allToolStripMenuItem.Name = "allToolStripMenuItem";
|
||||
this.allToolStripMenuItem.Size = new System.Drawing.Size(88, 22);
|
||||
this.allToolStripMenuItem.Text = "All";
|
||||
this.allToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
|
||||
this.allToolStripMenuItem.Text = "Export to Excel";
|
||||
this.allToolStripMenuItem.Click += new System.EventHandler(this.allToolStripMenuItem_Click);
|
||||
//
|
||||
// aToolStripMenuItem
|
||||
@@ -319,7 +319,7 @@
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.aboutToolStripMenuItem.Text = "About";
|
||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
|
||||
//
|
||||
|
||||
20
MainForm.cs
20
MainForm.cs
@@ -186,12 +186,17 @@ namespace friction
|
||||
|
||||
m_Report.RadarChart = m_RadarGraphPanel.CopyChart();
|
||||
|
||||
m_Report.Export();
|
||||
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
||||
//OpenPanel(m_TrendGraphPanel);
|
||||
//m_TrendGraphPanel.CopyChart(PanelTrendGraph.GRAPH_TYPE.HUMIDITY);
|
||||
if(m_DataHandler.GetCurTable() != "" && m_DataHandler.GetCurTable() != "All")
|
||||
{
|
||||
OpenPanel(m_TrendGraphPanel);
|
||||
m_TrendGraphPanel.CopyChart(PanelTrendGraph.GRAPH_TYPE.HUMIDITY);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_Report.Export();
|
||||
m_Report = null;
|
||||
Cursor.Current = Cursors.Default;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnChartUpdate(Bitmap bm, PanelTrendGraph.GRAPH_TYPE Type)
|
||||
@@ -217,6 +222,7 @@ namespace friction
|
||||
m_Report.TrendChartByVelocity = bm;
|
||||
m_Report.Export();
|
||||
m_Report = null;
|
||||
Cursor.Current = Cursors.Default;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -297,8 +303,6 @@ namespace friction
|
||||
}
|
||||
|
||||
m_AnalysisPanel.UpdateData(m_DataHandler);
|
||||
|
||||
Console.WriteLine("[MainForm::OnApply] end");
|
||||
}
|
||||
|
||||
public void OnRadarSelectTable(string strTable)
|
||||
|
||||
@@ -167,34 +167,34 @@
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAELSURBVDhPYxhcwH/7dgXv3ZsdoFwMAJIDqYFyMYHvzs0N
|
||||
vru2/IdyMQBIDqQGykUFKYuPvU9YfOhr/IKjv0FsbDh+8aFfyQsOfQOxodoQwHfi7v+kYKg2BGjff+N/
|
||||
vru2/IdyMQBIDqQGykUFKYuPvY9ffPBr/Pyjv0FsbDhu8cFfyfMPfgOxodoQwHfi7v+kYKg2BGjff+N/
|
||||
274b/1uBuBmIm/Ze/98IxPVAXLfn+v+aPdf+V+++9r8SiqHaEODw26//97z6+H/rs7f/QWwQDeJjEzvw
|
||||
9gt2AxovXv4PCqgtLz+D6aKzF7GKgdRCtSEASHD5wxf/W67cAtry5X/n1dv/Z917hlUMpwEzb9//n3vq
|
||||
FFhxwenT//tv3MMqhtOA9qvX/4fs2w12bhiQLrtwFasYTgNIwVBtCHD49WcHUjBU24ADBgYAUOuMKYIR
|
||||
QmUAAAAASUVORK5CYII=
|
||||
FFhxwenT//tv3MMqhtOA9qvX/4fs2w12bhiQLrtwFasYTgNIwVBtCHD49WcHUjBU24ADBgYAPIaMIohq
|
||||
wJwAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButtonRadarGraph.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFbSURBVDhPYxh8wGfmJi6fSbtLfSfuPu86cffPyP27/hft
|
||||
P/A1a/uRTZlbDgtClWEHXlP2yvv2774O1PwfhlOOHvhfdeE0GBcfO/EjZeN+C6hyVACyGV0zCOedOgo3
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFbSURBVDhPYxh8wGfmJi6fSbtLfSfuPu8ycffPyP27/hft
|
||||
3/81a/uRTZlbDgtClWEHXlP2yvv2774O1PwfhlOOHvhfdeE0GBcfO/EjZeN+C6hyVACyGV0zCOedOgo3
|
||||
AGZI6O4z/FBtCOA7YU8Zumbvvp1X848d/45sAAhn7Dy2AaoNAYC2X0AxYNLOBKgUQ/qOw7ORDQCFCVQK
|
||||
AUABhmwzVBgOQE6HGVB57tR/qDACIBvgNXHXFagwBPz/z7jywZsfu199/r/1xaf/q5++xzTAu3/HOZgB
|
||||
AUABhmwzVBgOQE6HGVB57tR/qDACIBvgNXHXFagwBPz/z7jiwZsfu199/r/1xaf/q5++xzTAu3/HOZgB
|
||||
IOwzYVciVIqhfNP5tsNvv/6H4bV3Xn2BSiGAz8TdRcgGQPE1MJ6w+3/55otwA6adfrAWqg0BQnqPcYKc
|
||||
jmYAHHtP2PU/ffnJ/+uvvf5ef+IWH1QbKvCZsFsOnyFuvTtuJs3ZbwJVjh3Yz9/PAfHOrrO+/Zu/g/HE
|
||||
3WeA/AKQHFTZoAEMDACbmj5XGxciWgAAAABJRU5ErkJggg==
|
||||
jmYAHHtP2PU/ffnJ/+uvvv5ef+IWH1QbKvCZsFsOnyFuvTtuJs3ZbwJVjh3Yz9/PAfHOrrO+/Zu+g/HE
|
||||
3WeA/AKQHFTZoAEMDACJ+j5OaUipqgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButtonTrendGraph.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEpSURBVDhPY6A7COk9xuk1Za88lIsdBE7bKeY7aac1lIsC
|
||||
/CbtXunbufmfV/8uTagQJvCdtHuT78Td//2n7DSACoHB8RefxTsP3rruM2Hnbv/+/QJQYUww6eitw3Hz
|
||||
D23d8+LDgcNvPrvaz9/PceDtZ91Dr7+sKD17Vqrq/MlAqFJMcOjNl7pNj14EVJ47ZQ/iL732vNune8uv
|
||||
/CbtXunbsemfV/8uTagQJvCdtHuT78Td//2n7DSACoHB8RefxTsP3rruM2Hnbv/+/QJQYUww6eitw3Hz
|
||||
D23d8+LDgcNvPrvaz9/PceDtZ91Dr7+sKD17Vqrq/MlAqFJMcOjNl7pNj14EVJ47ZQ/iL732vNuna/Ov
|
||||
vDUnL4H45edO6FedPz0BxMYAB998DT785msOsiK/ybukAibte+IzcVc1iI/VALfeHULBk/ccb9595QCI
|
||||
j66o8vyZgKrzx6RBbKwGgELUdeLuv74Tdi0B8TEMuHC6H+hvcIBiNQAE0nccds3YeVQMxCbLAHyKRooB
|
||||
oBRWeOwYJ4hdf38/ByzaQACfHIWAgQEA/779VU6Qnd0AAAAASUVORK5CYII=
|
||||
j66o8vyZgKrzx6RBbKwGgELUZeLuv74Tdi0B8TEMuHC6H+hvcIBiNQAE0nccds3YeVQMxCbLAHyKRooB
|
||||
oBRWeOwYJ4hdf38/ByzaQACfHIWAgQEA8cf9UGxcQysAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
||||
23
PanelTrendGraph.Designer.cs
generated
23
PanelTrendGraph.Designer.cs
generated
@@ -34,15 +34,15 @@
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.rbVelocity = new System.Windows.Forms.RadioButton();
|
||||
this.rbForce = new System.Windows.Forms.RadioButton();
|
||||
this.panelGraph = new System.Windows.Forms.Panel();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.panelGraph.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// trendChart
|
||||
//
|
||||
this.trendChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.trendChart.Location = new System.Drawing.Point(8, 59);
|
||||
this.trendChart.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.trendChart.Location = new System.Drawing.Point(0, 0);
|
||||
this.trendChart.Name = "trendChart";
|
||||
this.trendChart.Size = new System.Drawing.Size(742, 603);
|
||||
this.trendChart.TabIndex = 0;
|
||||
@@ -117,14 +117,25 @@
|
||||
this.rbForce.UseVisualStyleBackColor = true;
|
||||
this.rbForce.CheckedChanged += new System.EventHandler(this.rbForce_CheckedChanged);
|
||||
//
|
||||
// panelGraph
|
||||
//
|
||||
this.panelGraph.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelGraph.Controls.Add(this.trendChart);
|
||||
this.panelGraph.Location = new System.Drawing.Point(8, 59);
|
||||
this.panelGraph.Name = "panelGraph";
|
||||
this.panelGraph.Size = new System.Drawing.Size(742, 603);
|
||||
this.panelGraph.TabIndex = 3;
|
||||
//
|
||||
// PanelTrendGraph
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(762, 674);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.panelGraph);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.trendChart);
|
||||
this.HideOnClose = true;
|
||||
this.Name = "PanelTrendGraph";
|
||||
this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.Document;
|
||||
@@ -132,6 +143,7 @@
|
||||
this.Text = "Trend Graph";
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.panelGraph.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -144,5 +156,6 @@
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.RadioButton rbVelocity;
|
||||
private System.Windows.Forms.RadioButton rbForce;
|
||||
private System.Windows.Forms.Panel panelGraph;
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ using LiveCharts.Wpf;
|
||||
using LiveCharts.WinForms;
|
||||
using LiveCharts.Defaults;
|
||||
using System.Windows.Media;
|
||||
using System.Threading;
|
||||
using System.Timers;
|
||||
|
||||
namespace friction
|
||||
{
|
||||
@@ -38,6 +38,7 @@ namespace friction
|
||||
|
||||
// for report
|
||||
bool m_bReport = false;
|
||||
System.Windows.Forms.Timer m_ReportTimer = null;
|
||||
|
||||
public PanelTrendGraph(MainForm owner, DataHandler data)
|
||||
{
|
||||
@@ -54,6 +55,7 @@ namespace friction
|
||||
Theme.Apply(rbTemp);
|
||||
|
||||
|
||||
|
||||
trendChart.AxisX.Add(new Axis
|
||||
{
|
||||
Title = "Humidity",
|
||||
@@ -386,8 +388,6 @@ namespace friction
|
||||
|
||||
public void UpdateGraph(GRAPH_TYPE Type=GRAPH_TYPE.NONE)
|
||||
{
|
||||
Console.WriteLine("[TrendGraph::UpdateGraph] start");
|
||||
|
||||
if (Type == GRAPH_TYPE.NONE)
|
||||
{
|
||||
if (rbHumidity.Checked == true)
|
||||
@@ -398,8 +398,6 @@ namespace friction
|
||||
UpdateGraph(GRAPH_TYPE.FORCE);
|
||||
else if (rbVelocity.Checked == true)
|
||||
UpdateGraph(GRAPH_TYPE.VELOCITY);
|
||||
|
||||
Console.WriteLine("[TrendGraph::UpdateGraph] end");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -428,8 +426,6 @@ namespace friction
|
||||
m_CurSpring = strSpring;
|
||||
m_CurTable = strTable;
|
||||
m_GraphType = Type;
|
||||
|
||||
Console.WriteLine("[TrendGraph::UpdateGraph] end");
|
||||
}
|
||||
|
||||
private void rbHumidity_CheckedChanged(object sender, EventArgs e)
|
||||
@@ -454,6 +450,7 @@ namespace friction
|
||||
|
||||
public void CopyChart(GRAPH_TYPE Type)
|
||||
{
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
m_bReport = true;
|
||||
trendChart.DisableAnimations = true;
|
||||
UpdateGraph(Type);
|
||||
@@ -463,16 +460,28 @@ namespace friction
|
||||
{
|
||||
if(m_bReport == true)
|
||||
{
|
||||
Thread.Sleep(1500);
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
m_ReportTimer = new System.Windows.Forms.Timer();
|
||||
m_ReportTimer.Interval = 500;
|
||||
m_ReportTimer.Tick += new EventHandler(TimerCallback);
|
||||
m_ReportTimer.Start();
|
||||
|
||||
m_bReport = false;
|
||||
|
||||
Bitmap bm = new Bitmap(Width, Height);
|
||||
DrawToBitmap(bm, new Rectangle(0, 0, Width, Height));
|
||||
m_Owner.OnChartUpdate(bm, m_GraphType);
|
||||
Console.WriteLine("Chart Updated ({0})", m_GraphType);
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine("chart updated");
|
||||
private void TimerCallback(object sender, EventArgs e)
|
||||
{
|
||||
Console.WriteLine("Chart Timer Callback ({0})", m_GraphType);
|
||||
m_bReport = false;
|
||||
m_ReportTimer.Stop();
|
||||
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
Bitmap bm = new Bitmap(Width, Height);
|
||||
panelGraph.DrawToBitmap(bm, new Rectangle(panelGraph.Left, panelGraph.Top, panelGraph.Width, panelGraph.Height));
|
||||
m_Owner.OnChartUpdate(bm, m_GraphType);
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
146
Report.cs
146
Report.cs
@@ -48,12 +48,77 @@ namespace friction
|
||||
|
||||
int iTableRowStart = iRow-1;
|
||||
int iTableColStart = iCol;
|
||||
double dValue;
|
||||
int iNoOfTest = 0;
|
||||
int iAvgRPNColumn = 1;
|
||||
|
||||
foreach(DataRow row in AnalysisData.Rows)
|
||||
{
|
||||
int.TryParse(row["No. of Tests"].ToString(), out iNoOfTest);
|
||||
|
||||
iCol = 2;
|
||||
for (int i = 0; i < AnalysisData.Columns.Count; i++)
|
||||
{
|
||||
Sheet.Cells[iRow, iCol].Value = row[i];
|
||||
if(double.TryParse(row[i].ToString(), out dValue) == true)
|
||||
{
|
||||
Sheet.Cells[iRow, iCol].Value = dValue;
|
||||
|
||||
if(AnalysisData.Columns[i].ColumnName == "No. of Tests")
|
||||
{
|
||||
|
||||
}
|
||||
else if (AnalysisData.Columns[i].ColumnName == "Average RPN")
|
||||
{
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
|
||||
|
||||
var Risk = Config.ANALYSIS.GetRisk((float)dValue);
|
||||
switch (Risk)
|
||||
{
|
||||
case Config.ANALYSIS.RISK.NO:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Green);
|
||||
break;
|
||||
|
||||
case Config.ANALYSIS.RISK.POTENTIAL:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Yellow);
|
||||
break;
|
||||
|
||||
case Config.ANALYSIS.RISK.HIGH:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Red);
|
||||
break;
|
||||
}
|
||||
|
||||
iAvgRPNColumn = iCol;
|
||||
}
|
||||
else
|
||||
{
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
|
||||
var Dependancy = Config.ANALYSIS.GetDependancy((float)dValue, iNoOfTest);
|
||||
switch (Dependancy)
|
||||
{
|
||||
case Config.ANALYSIS.DEPENDANCY.NO:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Green);
|
||||
break;
|
||||
|
||||
case Config.ANALYSIS.DEPENDANCY.POTENTIAL:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Yellow);
|
||||
break;
|
||||
|
||||
case Config.ANALYSIS.DEPENDANCY.HIGH:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Red);
|
||||
break;
|
||||
|
||||
case Config.ANALYSIS.DEPENDANCY.NOT_ENNOUGH_DATA:
|
||||
Sheet.Cells[iRow, iCol].Style.Fill.BackgroundColor.SetColor(Theme.Gray);
|
||||
Sheet.Cells[iRow, iAvgRPNColumn].Style.Fill.BackgroundColor.SetColor(Theme.Gray);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Sheet.Cells[iRow, iCol].Value = row[i].ToString();
|
||||
}
|
||||
|
||||
iCol++;
|
||||
}
|
||||
|
||||
@@ -68,27 +133,78 @@ namespace friction
|
||||
iRow += 2;
|
||||
iCol = 2;
|
||||
|
||||
double dX=0;
|
||||
double dY=0;
|
||||
for (int i = 1; i < iCol; i++)
|
||||
dX += ExcelHelper.ColumnWidth2Pixel(Sheet, Sheet.Column(i).Width);
|
||||
for (int i = 1; i < iRow; i++)
|
||||
dY += ExcelHelper.RowHeight2Pixel(Sheet.Row(i).Height);
|
||||
|
||||
int iWidth = RadarChart.Width;
|
||||
int iHeight = RadarChart.Height;
|
||||
iHeight = iHeight * 800 / iWidth;
|
||||
iWidth = 800;
|
||||
|
||||
|
||||
var picRadarChart = Sheet.Drawings.AddPicture("Radar Chart", RadarChart);
|
||||
picRadarChart.SetPosition(iRow, 0, iCol-1, 0);
|
||||
iRow += 30;
|
||||
picRadarChart.SetPosition((int)dY, (int)dX);
|
||||
picRadarChart.SetSize(iWidth, iHeight);
|
||||
dY += iHeight + 60;
|
||||
|
||||
//var picTrendChartHumidity = Sheet.Drawings.AddPicture("Trend Chart by Humidity", TrendChartByHumidity);
|
||||
//picTrendChartHumidity.SetPosition(iRow, 0, iCol, 0);
|
||||
//iRow += 30;
|
||||
|
||||
//var picTrendChartTemperature = Sheet.Drawings.AddPicture("Trend Chart by Temperature", TrendChartByTemperature);
|
||||
//picTrendChartTemperature.SetPosition(iRow, 0, iCol, 0);
|
||||
//iRow += 30;
|
||||
if (TrendChartByHumidity != null)
|
||||
{
|
||||
|
||||
//var picTrendChartForce = Sheet.Drawings.AddPicture("Trend Chart by Force", TrendChartByForce);
|
||||
//picTrendChartForce.SetPosition(iRow, 0, iCol, 0);
|
||||
//iRow += 30;
|
||||
Sheet.Cells[52, 2].Value = MaterialSpring + " vs " + MaterialTable;
|
||||
Sheet.Cells[52, 2].Style.Font.Bold = true;
|
||||
|
||||
//var picTrendChartVelocity = Sheet.Drawings.AddPicture("Trend Chart by Velocity", TrendChartByVelocity);
|
||||
//picTrendChartVelocity.SetPosition(iRow, 0, iCol, 0);
|
||||
//iRow += 30;
|
||||
dY += 10;
|
||||
var picTrendChartHumidity = Sheet.Drawings.AddPicture("Trend Chart by Humidity", TrendChartByHumidity);
|
||||
picTrendChartHumidity.SetPosition((int)dY, (int)dX);
|
||||
iWidth = TrendChartByHumidity.Width;
|
||||
iHeight = TrendChartByHumidity.Height;
|
||||
iHeight = iHeight * 390 / iWidth;
|
||||
iWidth = 390;
|
||||
picTrendChartHumidity.SetSize(iWidth, iHeight);
|
||||
Sheet.Cells[64, 2].Value = "by Humidity";
|
||||
|
||||
|
||||
dX += 400;
|
||||
var picTrendChartTemperature = Sheet.Drawings.AddPicture("Trend Chart by Temperature", TrendChartByTemperature);
|
||||
picTrendChartTemperature.SetPosition((int)dY, (int)dX);
|
||||
iWidth = TrendChartByTemperature.Width;
|
||||
iHeight = TrendChartByTemperature.Height;
|
||||
iHeight = iHeight * 390 / iWidth;
|
||||
iWidth = 390;
|
||||
picTrendChartTemperature.SetSize(iWidth, iHeight);
|
||||
Sheet.Cells[64, 6].Value = "by Temperature";
|
||||
|
||||
|
||||
dX -= 400;
|
||||
dY += iHeight + 10;
|
||||
var picTrendChartForce = Sheet.Drawings.AddPicture("Trend Chart by Force", TrendChartByForce);
|
||||
picTrendChartForce.SetPosition((int)dY, (int)dX);
|
||||
iWidth = TrendChartByForce.Width;
|
||||
iHeight = TrendChartByForce.Height;
|
||||
iHeight = iHeight * 390 / iWidth;
|
||||
iWidth = 390;
|
||||
picTrendChartForce.SetSize(iWidth, iHeight);
|
||||
Sheet.Cells[76, 2].Value = "by Force";
|
||||
|
||||
|
||||
dX += 400;
|
||||
var picTrendChartVelocity = Sheet.Drawings.AddPicture("Trend Chart by Velocity", TrendChartByVelocity);
|
||||
picTrendChartVelocity.SetPosition((int)dY, (int)dX);
|
||||
iWidth = TrendChartByVelocity.Width;
|
||||
iHeight = TrendChartByVelocity.Height;
|
||||
iHeight = iHeight * 390 / iWidth;
|
||||
iWidth = 390;
|
||||
picTrendChartVelocity.SetSize(iWidth, iHeight);
|
||||
Sheet.Cells[76, 6].Value = "by Velocity";
|
||||
}
|
||||
|
||||
package.SaveAs(new FileInfo(FilePath));
|
||||
Console.WriteLine("Report Saved");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
</Compile>
|
||||
<Compile Include="Config.cs" />
|
||||
<Compile Include="DataHandler.cs" />
|
||||
<Compile Include="ExcelHelper.cs" />
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
||||
Reference in New Issue
Block a user