前端點擊調用
先前端ajax 調用後端服務,包括一些傳參和url 的設置
這裏有個 處理函數 each 的使用
具體例子如下:
var tables = $("#Table>thead>tr>th");
//
Table.each(function(i, item) {
if (i < 5) arry.push($(item).context.childNodes[0].textContent);
});
str = arry.join(";");
後端sql 查詢
例如 sql 語句查詢下列字段
class Excel(req: PciListReq) {
override def genSql: String = {
s"""SELECT
age AS age1,
report,
name AS name1,
age AS age2,
report2,
usname AS name2,
Cost
Count
FROM teacher
WHERE ${req.geo.class} AND Year=${req.time.getYear()} AND Week=${req.time.timeSeg.week}
ORDER BY Cost ASC,MRCount DESC"""
}
}
sql 返回結果於下列:
age1 | report | name1 | age2 | report2 | name2 | Cost | Count |
---|---|---|---|---|---|---|---|
3 | 25 | 1600 | 4 | 26 | 1601 | 3 | 25 |
但是導出的結果要按類似於這種格式導出
age | report | name | Cost | Count |
---|---|---|---|---|
3 | 25 | 1600 | 3 | 25 |
4 | 26 | 1601 | 3 | 25 |
要得到這個形式 主要利用 take() 和 takeright() 函數
具體用法如下
class LineSplitting(req: List[List[String]]) {
def splite2(): List[List[String]] = {
val list1: List[List[String]] = req.map(x => (x.take(3) :: x.takeRight(2) :: Nil).flatten)
val list2: List[List[String]] = req.map(x => ( x.takeRight(5) :: Nil).flatten)
(list1 zip list2).map(x => List(x._1, x._2)).flatten
}
}
object LineSplitting {
def apply(req: List[List[String]]): LineSplitting = new LineSplitting(req)
}
把 (-1,-1) 的list 置爲 空
val valueList = result.value.map(x => {
val tails = if (x.takeRight(2) == List("-1","-1")) List("","") else x.takeRight(2)
x.take(4):::tails
})
flatten 函數
flatten可以把嵌套的結構展開.
Scala> List(List(1,2),List(3,4)).flatten
res0: List[Int] = List(1, 2, 3, 4)
zip函數
zip方法將兩個集合結合在一起
scala> List('a,'b,'c).zip(List(1,2,3))
res32: List[(Symbol, Int)] = List(('a,1), ('b,2), ('c,3))
map
map方法可以將某個函數應用到集合中的每個元素併產出其結果的集合,比如
val names=List(“a”,”b”,”c”)
可以用
names.map(_.toUpperCase)
得到List(“A”,”B”,”C”)