提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|对比评测|编辑:郝浩|2013-07-11 15:57:56.000|阅读 696 次
概述:今天教大家如何用DevExpress电子表格(Spreadsheet)制作发货清单
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
上一篇文章跟大家介绍了DevExpress电子表格单元格和公式的基本设置,今天教大家如何用电子表格(Spreadsheet)制作发货清单。
假设我们的数据模型是这样的:
public class Customer { public string Name { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } public string City { get; set; } public string State { get; set; } public string Zip { get; set; } public string Phone { get; set; } public List<Product> Products { get; set; } } public class Product { public string Name { get; set; } public int Quantity { get; set; } public double Discount { get; set; } public double Price { get; set; } }
而我们要创建的电子表格清单是这样的:
首先,大家应该还记得如何新建一个工作簿并设置默认值:
Workbook book = new Workbook(); // Setup document defaults... book.Styles.DefaultStyle.Font.Name = "Segoe UI"; book.Styles.DefaultStyle.Font.Size = 14;
设置模拟的顾客信息:
Customer customer = new Customer() { Name = "Alcorn Mickey", Address1 = "Mickeys World of Fun", Address2 = "436 1st Ave.", City = "Cleveland", State = "OH", Zip = "37288", Phone = "(203)290-8902" }; customer.Products = new List<Product> { new Product() { Name = "Chai", Price = 100, Quantity = 3, Discount = 0.1 }, new Product() { Name = "Chang", Price = 120, Quantity = 6, Discount = 0.15 }, };
添加账单信息:
// Add Billing info... book.Worksheets[0].Cells["B2"].Value = "BILL TO:"; book.Worksheets[0].Cells["B2"].Font.Bold = true; book.Worksheets[0].Cells["B3"].Value = customer.Name; book.Worksheets[0].Cells["B4"].Value = customer.Address1; book.Worksheets[0].Cells["B5"].Value = customer.Address2; book.Worksheets[0].Cells["B6"].Value = String.Format("{0} {1}, {2}", customer.City, customer.State, customer.Zip); book.Worksheets[0].Cells["B7"].Value = String.Format("Phone: {0}", customer.Phone);
添加标题:
// Add Header... book.Worksheets[0].Cells["B9"].Value = "Product"; book.Worksheets[0].Cells["C9"].Value = "Quantity"; book.Worksheets[0].Cells["D9"].Value = "Price"; book.Worksheets[0].Cells["E9"].Value = "Discount"; book.Worksheets[0].Cells["F9"].Value = "Due";
格式化整个标题Range [B9:F9]:
// Format header... book.Worksheets[0].Range["B9:F9"].ColumnWidthInCharacters = 16; Formatting header = book.Worksheets[0].Range["B9:F9"].BeginUpdateFormatting(); header.Alignment.Horizontal = HorizontalAlignment.Right; header.Borders.BottomBorder.Color = Color.Black; header.Borders.BottomBorder.LineStyle = BorderLineStyle.Medium; header.Font.Bold = true; book.Worksheets[0].Range["B9:F9"].EndUpdateFormatting(header); // Product is left aligned... book.Worksheets[0].Cells["B9"].Alignment.Horizontal = HorizontalAlignment.Left;
为每个产品设置属性:
const int start = 10; // Add line items... int row = start; foreach(Product product in customer.Products) { book.Worksheets[0].Cells["B" + row].Value = product.Name; book.Worksheets[0].Cells["C" + row].Value = product.Quantity; book.Worksheets[0].Cells["D" + row].Value = (double)product.Price; book.Worksheets[0].Cells["D" + row].NumberFormat = "$#,##0.00"; book.Worksheets[0].Cells["E" + row].Value = (double)product.Discount; book.Worksheets[0].Cells["E" + row].NumberFormat = "0%"; book.Worksheets[0].Cells["F" + row].Formula = String.Format("=C{0}*D{0}*(1-E{0})", row); book.Worksheets[0].Cells["F" + row].NumberFormat = "$#,##0.00"; row++; }
汇总:
// Total... book.Worksheets[0].Cells["E" + (row + 1)].Value = "Total:"; book.Worksheets[0].Cells["E" + (row + 1)].Alignment.Horizontal = HorizontalAlignment.Right; book.Worksheets[0].Cells["E" + (row + 1)].Font.Bold = true; book.Worksheets[0].Cells["F" + (row + 1)].Formula = String.Format("=SUM(F{0}:F{1})", start, row - 1); book.Worksheets[0].Cells["F" + (row + 1)].NumberFormat = "$#,##0.00";
这样一个简单的发货清单就完成了,现在我们将这个电子表格文档保存为一个PDF文档:
book.ExportToPdf(@"Invoice.pdf");
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都控件当您需要在 SWT 应用程序中显示 Web 内容时,通常有两种选择:内置浏览器小部件或像 JxBrowser 这样的商业选项?本文分析了两者之间的差异,并帮助您根据自己的需求选择合适的解决方案。
本文将介绍标准WPF DataGrid与DevExpress WPF GridControl之间的主要区别,希望能帮助大家选择正确的工具!
本文将介绍标准WPF DataGrid与DevExpress WPF GridControl之间的主要区别,希望能帮助大家选择正确的工具!
本文将详细评测Navicat的主要功能、用户体验以及其在数据库管理中的应用,希望能帮助到大家~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢