private void ProceedProductWorksheetHeader(XlWorksheet productSheet, SalesReportProduct itemProduct) { int rowIndex = 1; int columnIndex = 1; productSheet.PageSetup.LeftHeader = "&D created"; productSheet.PageSetup.CenterHeader = "Vintage Digital Inc."; productSheet.PageSetup.RightHeader = string.Format("Monthly Sales Report {1:00}/{0}", _yearToReport, _monthToReport); productSheet.Cells(rowIndex, columnIndex).Value = itemProduct.ProductName; productSheet.Cells(rowIndex, columnIndex).Font.Bold = true; productSheet.Cells(rowIndex, columnIndex).Font.Underline = true; productSheet.Cells(rowIndex, columnIndex).Font.Size = 14; productSheet.Cells(rowIndex, columnIndex).Font.Name = "Verdana"; }
private void ProceedSummaryMatrix(SalesReport report, XlWorksheet summarySheet, XlStyle matrixStyle) { // table columns summarySheet.Range("B2").Value = "Count"; summarySheet.Range("C2").Value = "Revenue"; summarySheet.Range("D2").Value = "%"; summarySheet.Range("E2").Value = "Storage"; string leftBottomCellAdress = XlConverter.ToCellAdress(1, 3 + report.Products.Length); string rightBottomCellAdress = XlConverter.ToCellAdress(5, 3 + report.Products.Length); summarySheet.Range("$A2:$" + rightBottomCellAdress).Style = matrixStyle; int rowIndex = 3; int columnIndex = 1; int i = 0; foreach (SalesReportProduct itemProduct in report.Products) { string prodName = itemProduct.ProductName; int prodId = itemProduct.ProductId; summarySheet.Cells(rowIndex, columnIndex).Value = prodName; string formula = string.Format("='{0}-{1}'!{2}", itemProduct.ProductName, itemProduct.ProductId, XlConverter.ToCellAdress(_monthToReport + 1, 13)); summarySheet.Cells(rowIndex, columnIndex + 1).Value = formula; formula = string.Format("='{0}-{1}'!{2}", itemProduct.ProductName, itemProduct.ProductId, XlConverter.ToCellAdress(_monthToReport + 1, 12)); summarySheet.Cells(rowIndex, columnIndex + 2).Value = formula; formula = string.Format("={0}*100/{1}", XlConverter.ToCellAdress(3, rowIndex), XlConverter.ToCellAdress(3, 3 + report.Products.Length)); summarySheet.Cells(rowIndex, columnIndex + 3).Formula = formula; formula = string.Format("='{0}-{1}'!{2}", itemProduct.ProductName, itemProduct.ProductId, "B6"); summarySheet.Cells(rowIndex, columnIndex + 4).Value = formula; int storeCount = Convert.ToInt16(summarySheet.Cells(rowIndex, columnIndex + 4).Value); if ((i % 2) == 0) { summarySheet.Range("$A" + (i + 3).ToString() + ":$E" + (i + 3).ToString()).Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); } rowIndex++; i++; } string sumFormula = string.Format("=Sum({0}:{1})", "C3", "C" + (report.Products.Length + 3 - 1).ToString()); summarySheet.Cells(rowIndex, columnIndex + 2).Value = sumFormula; summarySheet.Range("$C3:$C" + (report.Products.Length + 3).ToString()).NumberFormat = "#,##0.00 €"; summarySheet.Range("$D3:$D" + (report.Products.Length + 3).ToString()).NumberFormat = "0\"%\""; summarySheet.Cells(3 + report.Products.Length, 1).Value = "Total:"; summarySheet.Range("D2").HorizontalAlignment = XlHAlign.xlHAlignCenter; summarySheet.Range("$B2:$E2").Font.Bold = true; summarySheet.Range(leftBottomCellAdress + ":" + rightBottomCellAdress).Font.Bold = true; summarySheet.Range(leftBottomCellAdress + ":" + rightBottomCellAdress).BorderAround(XlLineStyle.xlDouble, XlBorderWeight.xlMedium); }
private void ProceedProductStorageInfo(XlWorksheet productSheet, SalesReportProduct itemProduct) { int rowIndex = 3; int columnIndex = 1; productSheet.Range("$A3:$B6").StyleAsString = "StorageAndRanking"; productSheet.Cells(rowIndex, columnIndex).Value = "Storage Info"; productSheet.Cells(rowIndex, columnIndex).Font.Bold = true; productSheet.Cells(rowIndex + 1, columnIndex).Value = "Storage Count"; productSheet.Cells(rowIndex + 2, columnIndex).Value = "Sales in Progress"; productSheet.Cells(rowIndex + 3, columnIndex).Value = "Recalc Storage Count "; productSheet.Cells(rowIndex + 1, columnIndex + 1).Value = itemProduct.StorageCount; productSheet.Cells(rowIndex + 2, columnIndex + 1).Value = itemProduct.OpenOrders.CountOfSales; productSheet.Cells(rowIndex + 3, columnIndex + 1).Value = itemProduct.StorageCount - itemProduct.OpenOrders.CountOfSales; SetProductStorageCountColor(itemProduct.StorageCount, productSheet.Cells(rowIndex + 1, columnIndex + 1)); SetProductStorageCountColor(itemProduct.StorageCount - itemProduct.OpenOrders.CountOfSales, productSheet.Cells(rowIndex + 3, columnIndex + 1)); }
private void ProceedProductRankingInfo(XlWorksheet productSheet, SalesReportProduct itemProduct) { int rowIndex = 3; int columnIndex = 4; productSheet.Range("$D3:$F6").StyleAsString = "StorageAndRanking"; productSheet.Cells(rowIndex, columnIndex).Value = "Count Ranking"; productSheet.Cells(rowIndex, columnIndex).Font.Bold = true; productSheet.Cells(rowIndex + 1, columnIndex).Value = "Month"; productSheet.Cells(rowIndex + 2, columnIndex).Value = "Year"; productSheet.Cells(rowIndex + 3, columnIndex).Value = "Total"; productSheet.Cells(rowIndex + 1, columnIndex + 2).Value = itemProduct.SalesRankMonth; productSheet.Cells(rowIndex + 2, columnIndex + 2).Value = itemProduct.SalesRankYear; productSheet.Cells(rowIndex + 3, columnIndex + 2).Value = itemProduct.SalesRankTotal; productSheet.Range("$D4:$E6").Borders[XlBordersIndex.xlInsideVertical].LineStyle = XlLineStyle.xlLineStyleNone; }
private void button1_Click(object sender, EventArgs e) { // start excel and turn off msg boxes excelApplication = new XlApplication(); excelApplication.DisplayAlerts = false; // add a new workbook XlWorkbook workBook = excelApplication.Workbooks.Add(); XlWorksheet workSheet = workBook.Worksheets[1]; workSheet.Cells(1, 1).Value = "these sample shapes was dynamicly created by code."; // create a star XlShape starShape = workSheet.Shapes.AddShape(LateBindingApi.Excel.Enums.MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20); // create a simple textbox XlShape textBox = workSheet.Shapes.AddTextbox(LateBindingApi.Excel.Enums.MsoTextOrientation.msoTextOrientationHorizontal, 10, 150, 200, 50); textBox.TextFrame.Characters().Text = "text"; textBox.TextFrame.Characters().Font.Size = 14; // create a wordart XlShape textEffect = workSheet.Shapes.AddTextEffect(LateBindingApi.Excel.Enums.MsoPresetTextEffect.msoTextEffect14, "WordArt", "Arial", 12, LateBindingApi.Excel.Enums.MsoTriState.msoTrue, LateBindingApi.Excel.Enums.MsoTriState.msoFalse, 10, 250); // create text effect XlShape textDiagram = workSheet.Shapes.AddTextEffect(LateBindingApi.Excel.Enums.MsoPresetTextEffect.msoTextEffect11, "Effect", "Arial", 14, LateBindingApi.Excel.Enums.MsoTriState.msoFalse, LateBindingApi.Excel.Enums.MsoTriState.msoFalse, 10, 350); // save the book string fileExtension = XlConverter.GetDefaultExtension(excelApplication); string workbookFile = string.Format("{0}\\Example4{1}", Environment.CurrentDirectory, fileExtension); workBook.SaveAs(workbookFile); // close excel and dispose reference excelApplication.Quit(); excelApplication.Dispose(); FinishDialog fDialog = new FinishDialog("Workbook saved.", workbookFile); fDialog.ShowDialog(this); }
private void ProceedProductYearTotalInfo(XlWorksheet productSheet, SalesReportProduct itemProduct) { int ColumnIndex = 15; int RowIndex = 9; productSheet.Range("$O9:$R13").StyleAsString = "YearTotalInfos"; productSheet.Cells(RowIndex, ColumnIndex).Value = "Year " + _yearToReport.ToString(); productSheet.Cells(RowIndex + 1, ColumnIndex).Value = itemProduct.Year.ManufactorPriceSummary; productSheet.Cells(RowIndex + 2, ColumnIndex).Value = itemProduct.Year.SalesPricesSummary; productSheet.Cells(RowIndex + 3, ColumnIndex).Value = itemProduct.Year.OutcomeSummary; productSheet.Cells(RowIndex + 4, ColumnIndex).Value = itemProduct.Year.CountOfSales; productSheet.Cells(RowIndex, ColumnIndex + 1).Value = "Year " + (_yearToReport - 1).ToString(); productSheet.Cells(RowIndex + 1, ColumnIndex + 1).Value = itemProduct.PrevYear.ManufactorPriceSummary; productSheet.Cells(RowIndex + 2, ColumnIndex + 1).Value = itemProduct.PrevYear.SalesPricesSummary; productSheet.Cells(RowIndex + 3, ColumnIndex + 1).Value = itemProduct.PrevYear.OutcomeSummary; productSheet.Cells(RowIndex + 4, ColumnIndex + 1).Value = itemProduct.PrevYear.CountOfSales; productSheet.Range("$O10:$P10").Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); productSheet.Range("$O12:$P12").Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); ColumnIndex = 18; RowIndex = 9; productSheet.Cells(RowIndex, ColumnIndex).Value = "Total"; productSheet.Cells(RowIndex + 1, ColumnIndex).Value = itemProduct.Total.ManufactorPriceSummary; productSheet.Cells(RowIndex + 2, ColumnIndex).Value = itemProduct.Total.SalesPricesSummary; productSheet.Cells(RowIndex + 3, ColumnIndex).Value = itemProduct.Total.OutcomeSummary; productSheet.Cells(RowIndex + 4, ColumnIndex).Value = itemProduct.Total.CountOfSales; productSheet.Range("$R10").Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); productSheet.Range("$R12").Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); productSheet.Range("$O9:$R9").NumberFormat = ""; productSheet.Range("$O9:$R9").Font.Bold = true; productSheet.Range("$O13:$R13").NumberFormat = ""; productSheet.Range("$O13:$R13").HorizontalAlignment = XlHAlign.xlHAlignCenter; productSheet.Range("$Q9:$Q13").MergeCells = true; }
private void ProceedProductMonthInfo(XlWorksheet productSheet, SalesReportProduct itemProduct) { int rowIndex = 9; int iMonthCellIndex = 1; productSheet.Range("$A9:$M13").StyleAsString = "MonthInfos"; productSheet.Cells(rowIndex + 1, iMonthCellIndex).Value = "ManufacturerPriceSummary"; productSheet.Cells(rowIndex + 2, iMonthCellIndex).Value = "SalesPricesSummary"; productSheet.Cells(rowIndex + 3, iMonthCellIndex).Value = "TotalRevenue"; productSheet.Cells(rowIndex + 4, iMonthCellIndex).Value = "CountOfSales"; iMonthCellIndex = 2;; foreach (SalesReportReportEntity itemMonth in itemProduct.PrevMonths) { productSheet.Cells(rowIndex, iMonthCellIndex).Value = GetMonthName(iMonthCellIndex - 2); productSheet.Cells(rowIndex + 1, iMonthCellIndex).Value = itemMonth.ManufactorPriceSummary; productSheet.Cells(rowIndex + 2, iMonthCellIndex).Value = itemMonth.SalesPricesSummary; productSheet.Cells(rowIndex + 3, iMonthCellIndex).Value = itemMonth.OutcomeSummary; productSheet.Cells(rowIndex + 4, iMonthCellIndex).Value = itemMonth.CountOfSales; iMonthCellIndex++; } string cellAdress1 = XlConverter.ToCellAdress(itemProduct.PrevMonths.Count + 2, 10); string cellAdress2 = XlConverter.ToCellAdress(itemProduct.PrevMonths.Count + 2, 12); productSheet.Range("$B10:$" + cellAdress1).Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); productSheet.Range("$B12:$" + cellAdress2).Interior.Color = XlConverter.ToDouble(System.Drawing.Color.Gainsboro); productSheet.Cells(rowIndex, iMonthCellIndex).Value = GetMonthName(_monthToReport - 1); productSheet.Cells(rowIndex + 1, iMonthCellIndex).Value = itemProduct.Month.ManufactorPriceSummary; productSheet.Cells(rowIndex + 2, iMonthCellIndex).Value = itemProduct.Month.SalesPricesSummary; productSheet.Cells(rowIndex + 3, iMonthCellIndex).Value = itemProduct.Month.OutcomeSummary; productSheet.Cells(rowIndex + 4, iMonthCellIndex).Value = itemProduct.Month.CountOfSales; for (int i = itemProduct.PrevMonths.Count + 2; i <= 12; i++) { iMonthCellIndex++; productSheet.Cells(rowIndex, iMonthCellIndex).Value = GetMonthName(i - 1); } productSheet.Range("$B9:$M9").NumberFormat = ""; productSheet.Range("$B9:$M9").Font.Bold = true; productSheet.Range("$B13:$M13").NumberFormat = ""; productSheet.Range("$B13:$M13").HorizontalAlignment = XlHAlign.xlHAlignCenter; if (itemProduct.PrevMonths.Count < 11) { string topLeftMergeCellAdress = "$" + XlConverter.ToCellAdress(itemProduct.PrevMonths.Count + 3, 10); productSheet.Range(topLeftMergeCellAdress + ":$M13").MergeCells = true; } }
private XlRange PutSampleData(XlWorksheet workSheet) { workSheet.Cells(2, 2).Value = "Datum"; workSheet.Cells(3, 2).Value = DateTime.Now.ToShortDateString(); workSheet.Cells(4, 2).Value = DateTime.Now.ToShortDateString(); workSheet.Cells(5, 2).Value = DateTime.Now.ToShortDateString(); workSheet.Cells(6, 2).Value = DateTime.Now.ToShortDateString(); workSheet.Cells(2, 3).Value = "Column1"; workSheet.Cells(3, 3).Value = 25; workSheet.Cells(4, 3).Value = 33; workSheet.Cells(5, 3).Value = 30; workSheet.Cells(6, 3).Value = 22; workSheet.Cells(2, 4).Value = "Column2"; workSheet.Cells(3, 4).Value = 25; workSheet.Cells(4, 4).Value = 33; workSheet.Cells(5, 4).Value = 30; workSheet.Cells(6, 4).Value = 22; workSheet.Cells(2, 5).Value = "Column3"; workSheet.Cells(3, 5).Value = 25; workSheet.Cells(4, 5).Value = 33; workSheet.Cells(5, 5).Value = 30; workSheet.Cells(6, 5).Value = 22; return(workSheet.Range("$B2:$E6")); }