fpSpread1 简单用法
//如果汇总的话直接可在模板里面填写公式,不过要有三行空行才行 比如SUM(A1,A2,A3)
fpSpread1.Sheets[0].RowCount = 30;
fpSpread1.Sheets[0].ColumnCount = 15;
yclCheckManager cm = new yclCheckManager();
DataSet ds= cm.getMaterialCheckProject(deliverNum);
string pro_code = "";
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
workbook.Open(Application.StartupPath + @"\Templates\原物料检验报告.xlt");
sheet = workbook.Worksheets[0];
if (ds.Tables[0].Rows.Count>0)
{
sheet.Cells["C5"].PutValue(ds.Tables[0].Rows[0]["p_name"].ToString());//赋值
sheet.Cells["C6"].PutValue(ds.Tables[0].Rows[0]["shouHuoCode"].ToString());
pro_code = ds.Tables[0].Rows[0]["pro_code2"].ToString();
sheet.Cells["C4"].PutValue(ds.Tables[0].Rows[0]["pro_code"].ToString());
sheet.Cells["O4"].PutValue(ds.Tables[0].Rows[0]["shouNum"].ToString());
sheet.Cells["O5"].PutValue(ds.Tables[0].Rows[0]["goodNum"].ToString());
sheet.Cells["O6"].PutValue(ds.Tables[0].Rows[0]["inDate"].ToString());
}
DataTable dt2=cm.get_Material(pro_code);
if (dt2.Rows.Count>0)
{
sheet.Cells["H4"].PutValue(dt2.Rows[0]["material"].ToString());
}
if (ds.Tables[1].Rows.Count>0)
{
sheet.Cells["H5"].PutValue(ds.Tables[1].Rows[0]["product"].ToString());
}
sheet.Cells["L13"].PutValue(DateBasicInfo.userMessage.userName + " / " + DateTime.Now);
sheet.Cells.ImportDataTable(ds.Tables[2], false, "A10");
for (int i = 0; i < ds.Tables[2].Rows.Count; i++)
{
sheet.Cells.Merge(9 + i,1,1,2);//合并单元格
sheet.Cells.Merge(9 + i, 4,1,4);
sheet.Cells.Merge(9 + i, 8,1, 4);
}
MemoryStream ms = workbook.SaveToStream();
ms.Seek(0, SeekOrigin.Begin);
fpSpread1.OpenExcel(ms);
ms.Close();
fpSpread1.Sheets[0].RowCount = lastindex;
fpSpread1.Sheets[0].ColumnCount = 14;
//工段小计列合并
int sameNum = 0;
int gongduanNum = 0;
float sumnum7 = 0;
float sumnum8 = 0;
float sumnum9 = 0;
float sumnum10 = 0;
try
{
for (int i = 0; i < lastindex; i++)
{
if (fpSpread1.ActiveSheet.Cells[i, 0].Text.Contains("小计"))
fpSpread1.ActiveSheet.AddSpanCell(i, 0, 1, 3);
if (i > 3)
{
if (fpSpread1.ActiveSheet.Cells[i - 1, 0].Text == fpSpread1.ActiveSheet.Cells[i, 0].Text)
{
gongduanNum++;
}
else
{
if (gongduanNum > 0)
{
fpSpread1.ActiveSheet.AddSpanCell(i - gongduanNum - 1, 0, gongduanNum + 1, 1);
gongduanNum = 0;
}
}
if (fpSpread1.ActiveSheet.Cells[i - 1, 1].Text == fpSpread1.ActiveSheet.Cells[i, 1].Text)
{
sameNum++;
sumnum7 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 7].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 7].Text);//数据汇总
sumnum8 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 8].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 8].Text);
sumnum9 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 9].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 9].Text);
sumnum10 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 10].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 10].Text);
}
else
{
if (sameNum > 0)
{
sumnum7 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 7].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 7].Text);
fpSpread1.ActiveSheet.Cells[i - sameNum - 1, 7].Value = sumnum7;
fpSpread1.ActiveSheet.AddSpanCell(i - sameNum - 1, 7, sameNum + 1, 1);
sumnum8 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 8].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 8].Text);
fpSpread1.ActiveSheet.Cells[i - sameNum - 1, 8].Value = sumnum8;
fpSpread1.ActiveSheet.AddSpanCell(i - sameNum - 1, 8, sameNum + 1, 1);
sumnum9 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 9].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 9].Text);
fpSpread1.ActiveSheet.Cells[i - sameNum - 1, 9].Value = sumnum9;
fpSpread1.ActiveSheet.AddSpanCell(i - sameNum - 1, 9, sameNum + 1, 1);
sumnum10 += float.Parse(fpSpread1.ActiveSheet.Cells[i - 1, 10].Text == "" ? "0" : fpSpread1.ActiveSheet.Cells[i - 1, 10].Text);
fpSpread1.ActiveSheet.Cells[i - sameNum - 1, 10].Value = sumnum10;
fpSpread1.ActiveSheet.AddSpanCell(i - sameNum - 1, 10, sameNum + 1, 1);
fpSpread1.ActiveSheet.AddSpanCell(i - sameNum - 1, 1, sameNum + 1, 1);
sameNum = 0;
sumnum7 = 0;
sumnum8 = 0;
sumnum9 = 0;
sumnum10 = 0;
}
}
}
}
}
catch (Exception ex)
{
}
fpSpread1 简单用法的更多相关文章
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
- listActivity和ExpandableListActivity的简单用法
http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...
随机推荐
- 获取 Windows 任务栏 Rect
获取当前Windows系统的任务栏尺寸 1: RECT rect; 2: HWND hwndTaskbar = FindWindow(TEXT("Shell_TrayWnd"), ...
- 洛谷-A+B Problem-洛谷的第一个任务
题目描述 Description 输入两个整数a,b,输出它们的和(a,b<=10^9) 输入输出格式 Input/output 输入格式:两个整数以空格分开输出格式:一个数 输入输出样例 ...
- Nginx简单配置,部分来源于网络
nginx.conf listener监听端口 server_name监听域名 location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”.location / { }匹 ...
- 关于MTK平台SIM-ME Lock的配置方案
针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...
- linux ssh连接不自动断开
修改linux服务器ssh配置文件: vim /etc/ssh/ssh_config 修改两处的值为: ClientAliveInterval ClientAliveCountMax 使修改的ssh配 ...
- 杭电1002 Etaoin Shrdlu
Problem Description The relative frequency of characters in natural language texts is very important ...
- 总结一下C++各个版本之间的功能扩充
活到老,学到老. C++ 98 我们学习和教材中常见的. C++ 03 主要是对98版本进行了bug修复. C++ 11 引入的新功能请参见: http://www.cpluspl ...
- Mozilla Firefox的各级版本链接
Mozilla Firefox的各级版本链接 及语言 https://ftp.mozilla.org/pub/firefox/releases/
- windows service and process 的关系
1.查询windows 对应的服务 sc query > 1.txt notepad 1.txt 2.查询对应的进程信息 tasklist /m > tasks.txt notepad t ...
- wireshark 包过滤
tcp.port == 443 or udp.port==443 or tcp.port==53 or udp.port==53