exce表格单价设置,在同一行上有若干个物品的单价和数量,每行求和

在EXCEL中的多个工作表在同一行同一列的数值一样了?????_百度知道
在EXCEL中的多个工作表在同一行同一列的数值一样了?????
EXCEL工作表同行同列数值变,:工作表29行H列数值123,其工作表位置同变123,原????
提问者采纳
能选择所工作表(点第表标签再按shift点工作表标签或右键标签-选择全部工作表)再操作单元格所表同位置同修改(设置各表格式用)
提问者评价
其他类似问题
182人觉得有用
为您推荐:
其他3条回答
看看EXCEL标题栏名字现&工作组&字.,点击任意工作表标签,取消.
四楼的说的对
你引用了吗?还是你的工作表都是直接复制过去的?
excel的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
如何让excel表格中的两列数据相同的排列在一行
下载积分:30
内容提示:如何让excel表格中的两列数据相同的排列在一行
文档格式:PDF|
浏览次数:762|
上传日期: 03:51:15|
文档星级:
该用户还上传了这些文档
如何让excel表格中的两列数据相同的排列在一行
官方公共微信基于CodeSmith代码生成之业务逻辑层
基于CodeSmith代码生成之业务逻辑层
&&&&& 本业务逻辑是的生成也是基于单表的业务逻辑,使用了泛性的方法来对业务逻辑进行了抽象,大简化了重复代码的开发,并且如果有特殊的要求,还可以自定义业务逻辑类,从现有的类进行继承实现更复杂的操作。
&&&&& 首先在每个系统中,都会存在有日志系统和异常的处理和记录,首先来定义一个日志异常接口,如下:
public interface ILogException
#region 异常处理
void WriteException(EntityBase e);
/// &summary&
/// WriteException
/// &/summary&
/// &param name="Ex"&Exception&/param&
void WriteException(Exception Ex);
/// &summary&
/// WriteException
/// &/summary&
/// &param name="modelName"&模块名称&/param&
/// &param name="Ex"&Exception&/param&
void WriteException(string modelName, Exception Ex);
/// &summary&
/// WriteException
/// &/summary&
/// &param name="modelName"&模块名称&/param&
/// &param name="message"&Exception&/param&
void WriteException(string modelName, string message);
/// &summary&
/// 写操作日志
/// &/summary&
/// &param name="modelName"&模块名称&/param&
/// &param name="OperaType"&操作类型&/param&
/// &param name="OperaDesc"&描述&/param&
/// &param name="OpResult"&&/param&
void WriteOperationLogs(string modelName, string OperaType, string OperaDesc, bool OpResult);
/// &summary&
/// 调试信息接口
/// &/summary&
ILog Log { get; }
#endregion
}public interface ILog
void InfoEnter(string message);
void InfoExit(string message);
void InfoFormatEnter(string FormatMessage, params object[] messages);
void InfoFormatExit(string FormatMessage, params object[] messages);
void Info(string message);
void InfoFormat(string FormatMessage, params object[] messages);
void Warn(string message);
void WarnFromat(string FormatMessage, params object[] messages);
void Error(string message);
void ErrorFromat(string FormatMessage, params object[] messages);
void Fatal(string message);
void FatalFromat(string FormatMessage, params object[] messages);
void Warn(string message, Exception e);
void WarnFromat(string FormatMessage, Exception e, params object[] messages);
void Error(string message, Exception e);
void ErrorFromat(string FormatMessage, Exception e, params object[] messages);
void Fatal(string message, Exception e);
void FatalFromat(string FormatMessage, Exception e, params object[] messages);
}所有业务逻辑层都要继承此接口,这样在业务逻辑的操作中,就很容易的记录异常和日志信息,下面就给出通用业务逻辑接口:
隐藏行号 复制代码 ? 业务接口
public interface IBLL&T& : IBLLBase
where T : EntityBase
/// &summary&
/// 新增记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Add(T e, EntityBase LogInfo);
/// &summary&
/// 删除记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Delete(T e, EntityBase LogInfo);
/// &summary&
/// 删除记录,根据条件删除指定表的记录
/// 此方法有注入的可能,请预防
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Delete(T e, string WhereCondition, EntityBase LogInfo);
/// &summary&
/// 删除记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Deletes(T e, EntityBase LogInfo);
/// &summary&
/// 查询外键实体
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&外键名&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回实体&/returns&
EntityBase GetEntityByForeignKey(T e, string ForeignKeyName, EntityBase LogInfo);
/// &summary&
/// 分页查询列表
/// &/summary&
/// &param name="TableName"&表名&/param&
/// &param name="FieldNames"&字段列表&/param&
/// &param name="OrderName"&排序名&/param&
/// &param name="PageSize"&分页大小&/param&
/// &param name="PageIndex"&页索引&/param&
/// &param name="IsReCount"&返回记录总数&/param&
/// &param name="OrderType"&排序类型&/param&
/// &param name="strWhere"&&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回数据集&/returns&
DataSet GetList(string TableName, string FieldNames, string OrderName, int PageSize, int PageIndex, bool IsReCount, bool OrderType, string strWhere, EntityBase LogInfo);
/// &summary&
/// 查询列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &param name="OrderByExpression"&排序&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回数据集&/returns&
DataSet GetList(T e, string WhereCondition, string OrderByExpression, EntityBase LogInfo);
/// &summary&
/// 查询记录
/// &/summary&
/// &param name="e"&&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Select(T e, EntityBase LogInfo);
/// &summary&
/// 查询外键列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&&/returns&
DataSet SelectByForeignKey(T e, string ForeignKeyName, EntityBase LogInfo);
/// &summary&
/// 查询外键列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&外键名称&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回列表&/returns&
List&EntityBase& GetEntityListByForeignKey(T e, string ForeignKeyName, EntityBase LogInfo);
/// &summary&
/// 查询外键列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&外键名称&/param&
/// &returns&返回列表&/returns&
List&EntityBase& GetEntityListByForeignKey(T e, string ForeignKeyName);
/// &summary&
/// 更新表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&更新条件(SQL)&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Update(T e, string WhereCondition, EntityBase LogInfo);
/// &summary&
/// 更新记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Update(T e, EntityBase LogInfo);
/// &summary&
/// 更新记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="updateStatement"&更新语句(SQL SET)&/param&
/// &param name="WhereCondition"&更新条件(where)&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返回true&/returns&
void Update(T e, string updateStatement, string WhereCondition, EntityBase LogInfo);
/// &summary&
/// 新增记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &returns&成功返回true&/returns&
void Add(T e);
/// &summary&
/// 删除记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &returns&成功返回true&/returns&
void Delete(T e);
/// &summary&
/// 根据条件,删除记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件,SQL&/param&
/// &returns&成功返回true&/returns&
void Delete(T e, string WhereCondition);
/// &summary&
/// 删除记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &returns&成功返回true&/returns&
void Deletes(T e);
/// &summary&
/// 查询外键实体
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&外键名&/param&
/// &returns&&/returns&
EntityBase GetEntityByForeignKey(T e, string ForeignKeyName);
/// &summary&
/// 分页查询列表
/// &/summary&
/// &param name="TableName"&表名&/param&
/// &param name="FieldNames"&字段列表&/param&
/// &param name="OrderName"&排序名&/param&
/// &param name="PageSize"&分页大小&/param&
/// &param name="PageIndex"&页索引&/param&
/// &param name="IsReCount"&返回记录总数&/param&
/// &param name="OrderType"&排序类型&/param&
/// &param name="strWhere"&查询条件&/param&
/// &returns&返回数据集&/returns&
DataSet GetList(string TableName, string FieldNames, string OrderName, int PageSize, int PageIndex, bool IsReCount, bool OrderType, string strWhere);
/// &summary&
/// 查询列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &param name="OrderByExpression"&排序条件&/param&
/// &returns&&/returns&
DataSet GetList(T e, string WhereCondition, string OrderByExpression);
/// &summary&
/// 查询记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &returns&成功返回true&/returns&
void Select(T e);
/// &summary&
/// 查询外键实体
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="ForeignKeyName"&外键名&/param&
/// &returns&&/returns&
DataSet SelectByForeignKey(T e, string ForeignKeyName);
/// &summary&
/// 根据条件更新记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &returns&成功返回tru&/returns&
void Update(T e, string WhereCondition);
/// &summary&
/// 更新记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &returns&成功返回true&/returns&
void Update(T e);
/// &summary&
/// 根据更新语句和条件更新记录
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="updateStatement"&&/param&
/// &param name="WhereCondition"&&/param&
/// &returns&成功返回true&/returns&
void Update(T e, string updateStatement, string WhereCondition);
#region 通用存储过程执行方法,为子类准备
/// &summary&
/// 通用存储过程执行方法
/// &/summary&
/// &param name="StroreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &returns&返回out参数&/returns&
IDictionary&string, object& ExceStore(string StoreName, IList&Parameter& Parame);
/// &summary&
/// 通用执行方法,返回数据集
/// 不支持out参数
/// &/summary&
/// &param name="StroreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &returns&返回数据集&/returns&
DataSet ExceStoreGetDataSet(string StoreName, IList&Parameter& Parame);
/// &summary&
/// 存储过程名
/// &/summary&
/// &param name="StoreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &returns&返回单个对象&/returns&
object ExceStoreGetObject(string StoreName, IList&Parameter& Parame);
/// &summary&
/// 通用存储过程执行方法
/// &/summary&
/// &param name="StroreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &param name="LogInfo"&日志&/param&
/// &returns&返回out参数&/returns&
IDictionary&string, object& ExceStore(string StoreName, IList&Parameter& Parame, EntityBase LogInfo);
/// &summary&
/// 通用执行方法,返回数据集
/// 不支持out参数
/// &/summary&
/// &param name="StroreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &param name="LogInfo"&日志&/param&
/// &returns&返回数据集&/returns&
DataSet ExceStoreGetDataSet(string StoreName, IList&Parameter& Parame, EntityBase LogInfo);
/// &summary&
/// 通用执行存储过程方法
/// &/summary&
/// &param name="StoreName"&存储过程名&/param&
/// &param name="Parame"&参数&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回单个对象&/returns&
object ExceStoreGetObject(string StoreName, IList&Parameter& Parame, EntityBase LogInfo);
#endregion
/// &summary&
/// 批量插入列表
/// &/summary&
/// &param name="EntityList"&实体列表&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&&/returns&
void Add(IList&EntityBase& EntityList, EntityBase LogInfo);
/// &summary&
/// 批量插入列表
/// &/summary&
/// &param name="EntityList"&实体列表&/param&
/// &returns&&/returns&
void Add(IList&EntityBase& EntityList);
/// &summary&
/// 查询列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &param name="OrderByExpression"&排序条件,支持多排序字段&/param&
/// &returns&返回强类型列表&/returns&
List&T& GetEntityList(T e, string WhereCondition, string OrderByExpression);
/// &summary&
/// 查询视图或表,返回强类型的对象
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="OrderName"&排序字段&/param&
/// &param name="PageSize"&单页大小&/param&
/// &param name="PageIndex"&页面编号&/param&
/// &param name="IsReCount"&是否返回记录总数&/param&
/// &param name="OrderType"&排序类型&/param&
/// &param name="strWhere"&过滤条件&/param&
/// &param name="TotalCount"&返回记录总数&/param&
/// &returns&返回查询到的记录&/returns&
List&T& GetEntityList(T e, string OrderName, int PageSize, int PageIndex, bool IsReCount, bool OrderType, string strWhere,ref int TotalCount);
/// &summary&
/// 查询列表
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="WhereCondition"&条件&/param&
/// &param name="OrderByExpression"&排序条件,支持多排序字段&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回强类型列表&/returns&
List&T& GetEntityList(T e, string WhereCondition, string OrderByExpression, EntityBase LogInfo);
/// &summary&
/// 查询视图或表,返回强类型的对象
/// &/summary&
/// &param name="e"&实体&/param&
/// &param name="OrderName"&排序字段&/param&
/// &param name="PageSize"&单页大小&/param&
/// &param name="PageIndex"&页面编号&/param&
/// &param name="IsReCount"&是否返回记录总数&/param&
/// &param name="OrderType"&排序类型&/param&
/// &param name="strWhere"&过滤条件&/param&
/// &param name="TotalCount"&返回记录总数&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&返回查询到的记录&/returns&
List&T& GetEntityList(T e, string OrderName, int PageSize, int PageIndex, bool IsReCount, bool OrderType, string strWhere, ref int TotalCount, EntityBase LogInfo);
/// &summary&
/// 批量更新成员,可以更新多个表
/// &/summary&
/// &param name="EntityList"&实体列表&/param&
/// &param name="LogInfo"&操作日志信息&/param&
/// &returns&&/returns&
void Update(IList&EntityBase& EntityList, EntityBase LogInfo);
/// &summary&
/// 批量更新成员,可以更新多个表
/// &/summary&
/// &param name="EntityList"&实体列表&/param&
/// &returns&&/returns&
void Update(IList&EntityBase& EntityList);
/// &summary&
/// 删除表记录
/// &/summary&
/// &param name="EntityList"&记录列表,可以是多个表的数据,在事务中执行&/param&
/// &param name="LogInfo"&日志信息&/param&
/// &returns&成功返true&/returns&
void Delete(IList&EntityBase& EntityList, EntityBase LogInfo);
/// &summary&
/// 删除表记录
/// &/summary&
/// &param name="EntityList"&记录列表,可以是多个表的数据,在事务中执行&/param&
/// &returns&成功返true&/returns&
void Delete(IList&EntityBase& EntityList);
上面接口了出现了EntityBase类型,这个是我上一篇中定义的一个抽象实体类,通过这种抽象,就可以实现一个业务类操作所有实体(不同表)。
为实现业务层对数据访问层的访问,我定义了一个工具类:
隐藏行号 复制代码 ? 数据访问层工具类
public static class DAHelper
/// &summary&
/// 默认的数据库连接字符串
/// &/summary&
public static readonly string ConnectionStringKey = "ConnectionStringKey";
/// &summary&
/// 返回事务型的数据访问层接口
/// &/summary&
/// &returns&数据访问层接口&/returns&
public static IDABase GetIDABase()
return GetIDABase(true);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&是启用事务&/param&
/// &returns&数据层访问接口&/returns&
public static IDABase GetIDABase(bool IsTran)
return GetIDABase(IsTran, ConnectionStringKey);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&事务隔离级别&/param&
/// &param name="ConnectionName"&链接的名称&/param&
/// &returns&数据层访问接口&/returns&
public static IDABase GetIDABase(IsolationLevel IsolationLevel, string ConnectionName)
return new Dal.EnterpriseLibraryDABase(IsolationLevel, ConnectionName);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&事务隔离级别&/param&
/// &returns&数据层访问接口&/returns&
public static IDABase GetIDABase(IsolationLevel IsolationLevel)
return GetIDABase(IsolationLevel, ConnectionStringKey);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&是启用事务&/param&
/// &param name="ConnectionName"&链接的名称&/param&
/// &returns&数据层访问接口&/returns&
public static IDABase GetIDABase(bool IsTran, string ConnectionName)
return new Dal.EnterpriseLibraryDABase(IsTran, ConnectionName);
这样就可以很方便的开起一个事务,同时也对开人员对事务的了解可以简化。
下面来看一下,业务逻辑的具体实现(查询实体):&
显示行号 复制代码 ?
public void Select(T e, EntityBase LogInfo)
IDABase dalbase = null;
dalbase = GetIDABase();
if (!dalbase.Select(e))
throw new Exception("查询出错。");
if (LogInfo != null) dalbase.Insert(LogInfo);
catch (Exception ee)
if (dalbase != null)
dalbase.Rollback();
WriteException(ee);
throw new KMToolException(ee.Message, ee);
if (dalbase != null)
dalbase.Close();
这样所有的方法都会出现一种统一的结构,如下:public void 方法名(参数)
IDABase dalbase = null;//定义数据库访问对象
dalbase = GetIDABase();//获取数据库接口实例
//执行操作,同时,由于数据访问层有直接执行SQL语句的功能,这样就可以动态的改变当前的数据库,就可以进行多数据库的操作
mit(); //提交操作
catch (Exception ee)
if (dalbase != null)
dalbase.Rollback();//异常时回滚操作
WriteException(ee);
throw new KMToolException(ee.Message, ee);
if (dalbase != null)
dalbase.Close();//关闭链接
}虽然数据访问层提供了对SQL语句执行的功能,但是不建议使用,另外从上面的获取数据访问层实例的是一个方法GetIDABase,包装一层的目的是为了便于单元测试进行mock,实现如下:
显示行号 复制代码 ?
/// &summary&
/// 返回事务型的数据访问层接口
/// &/summary&
/// &returns&数据访问层接口&/returns&
protected IDABase GetIDABase()
return GetIDABase(true);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&是启用事务&/param&
/// &returns&数据层访问接口&/returns&
protected IDABase GetIDABase(bool IsTran)
return GetIDABase(IsTran,null);
/// &summary&
/// 返回数据访问层接口对象
/// &/summary&
/// &param name="IsTran"&是启用事务&/param&
/// &param name="ConnectionName"&链接的名称&/param&
/// &returns&数据层访问接口&/returns&
protected IDABase GetIDABase(bool IsTran, string ConnectionName)
if (_dal != null)
_dal.Close();
return </mon.Dal.DAHelper.GetIDABase(IsTran, ConnectionName);
其实对单元测试进行mock的是一个方法:private IDABase _dal = null;
/// &summary&
/// 测试注入专用方法
/// &/summary&
/// &param name="dal"&注入的数据库访问类&/param&
protected void InitDal(IDABase dal)
if (dal == null)
throw new ArgumentNullException("dal","此函数的参数dal不能允许为空.");
}它是一个保护型的,在单元测试时,我们可以调用此方法进行注入。&这一篇就写到这里,下一篇来说一下,WebUI的生成。
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊

我要回帖

更多关于 excel一行求和 的文章

 

随机推荐