我需要按字母顺序对列进行排序。
excel表是使用JXL API
的groovy(或java)生成的。
我在jxl 2.6.12
中找到了一个实现新功能jxl.write.biff.sortRecord
)的课程。
但它没有很好的记录,也没有使用的例子。
有没有办法(使用jxl.write.biff.sortRecord
或任何其他算法)
更新:
这是我的代码(抱歉,我必须隐藏和更改内容)
def i=1
testRunner.testCase.testSteps.each{ name,props ->
def StepName = "${name}"
def TestStepType = testRunner.testCase.getTestStepByName(StepName).config.type
if (TestStepType=="request") {
def response = testRunner.testCase.getTestStepByName(StepName).getPropertyValue("response")
hl = new WritableHyperlink(4, i,new URL(""))
sheet.addHyperlink(hl)
Label expectedResponsePath = new Label(4, i, "Cliquez ici !", Info)
sheet.addCell(expectedResponsePath)
props.getAssertionList().each{
// Column that i want to sort alphabitacally
Label EachStepNameLabel = new Label(0, i,StepName ,Info)
sheet.addCell(EachStepNameLabel)
if ("$it.label"=="Validation SOAP") {
if ("$it.status"=="VALID") {
Label SoapStatusLabelOk = new Label(1, i,"$it.label - $it.status" ,Correct)
sheet.addCell(SoapStatusLabelOk)
}
else {
Label SoapStatusLabelKO = new Label(1, i,"$it.label - $it.status" ,False)
sheet.addCell(SoapStatusLabelKO)
}
}
else if ("$it.label"=="Groovy Assertion") {
if ("$it.status"=="VALID") {
Label SoapStatusLabelOk = new Label(2, i,"$it.label - $it.status" ,Correct)
sheet.addCell(SoapStatusLabelOk)
Label EmptyLabel = new Label(3, i,"" ,Info)
sheet.addCell(EmptyLabel)
}
else {
Label SoapStatusLabelKO = new Label(2, i,"$it.label - $it.status" ,False)
sheet.addCell(SoapStatusLabelKO)
def errorMsg = "$it.errors"
if (errorMsg.contains("Nombre de")) {
def printMsg = errorMsg.substring(1,errorMsg.indexOf("Expression")-1)
Label NodeNumberError = new Label(3, i,"- "+printMsg ,Info)
sheet.addCell(NodeNumberError)
}
else {
if (errorMsg.contains("Splitter")) {
String[] errors = errorMsg.split("Splitter");
def finalMessage =""
for (int m=0; m<errors.length-1;m++) {
def printMsg = " - "+errors[m].substring(1,errors[m].indexOf(">")+1)
def printMsgTranslated = printMsg.replaceAll("Expected Child","Noeud fils attendu").replaceAll("- Expected text value" , "Le texte attendu est :").replaceAll("but was","| Texte trouve : ").replaceAll("comparing","Erreur dans la balise : ")
finalMessage+= printMsgTranslated+"\n"
if(m==errors.length-1) finalMessage+= printMsgTranslated
}
Label NodeNumberError1 = new Label(3, i,finalMessage,Info)
sheet.addCell(NodeNumberError1)
}
else if(errorMsg.contains("Unexpected element")) {
Label NodeNumberError3 = new Label(3, i,"- Impossible de comaprer avec un fichier XML non valide (fichier corrompu)",Info)
sheet.addCell(NodeNumberError3)
}
}
}
}
}
i++
}
}
for (int j=0;j<sheet.getColumns();j++)
{
cell=sheet.getColumnView(j);
cell.setAutosize(true);
sheet.setColumnView(j, cell);
}
workbook.write()
workbook.close()
更新2: 报告图片:
非常感谢。