//如果汇总的话直接可在模板里面填写公式,不过要有三行空行才行 比如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 简单用法的更多相关文章

  1. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  2. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  3. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  4. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  5. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  6. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  7. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  8. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

  9. listActivity和ExpandableListActivity的简单用法

    http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...

随机推荐

  1. 获取 Windows 任务栏 Rect

    获取当前Windows系统的任务栏尺寸 1: RECT rect; 2: HWND hwndTaskbar = FindWindow(TEXT("Shell_TrayWnd"), ...

  2. 洛谷-A+B Problem-洛谷的第一个任务

    题目描述 Description 输入两个整数a,b,输出它们的和(a,b<=10^9)  输入输出格式 Input/output 输入格式:两个整数以空格分开输出格式:一个数  输入输出样例  ...

  3. Nginx简单配置,部分来源于网络

    nginx.conf listener监听端口 server_name监听域名 location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”.location  / { }匹 ...

  4. 关于MTK平台SIM-ME Lock的配置方案

    针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...

  5. linux ssh连接不自动断开

    修改linux服务器ssh配置文件: vim /etc/ssh/ssh_config 修改两处的值为: ClientAliveInterval ClientAliveCountMax 使修改的ssh配 ...

  6. 杭电1002 Etaoin Shrdlu

    Problem Description The relative frequency of characters in natural language texts is very important ...

  7. 总结一下C++各个版本之间的功能扩充

    活到老,学到老.   C++ 98 我们学习和教材中常见的. C++ 03 主要是对98版本进行了bug修复. C++ 11 引入的新功能请参见:         http://www.cpluspl ...

  8. Mozilla Firefox的各级版本链接

    Mozilla Firefox的各级版本链接 及语言 https://ftp.mozilla.org/pub/firefox/releases/

  9. windows service and process 的关系

    1.查询windows 对应的服务 sc query > 1.txt notepad 1.txt 2.查询对应的进程信息 tasklist /m > tasks.txt notepad t ...

  10. wireshark 包过滤

    tcp.port == 443 or udp.port==443 or tcp.port==53 or udp.port==53