You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.9 KiB
61 lines
1.9 KiB
/********************************************************************************************************* |
|
* 프로그램명 : MreportMake.java 프로그램설명 : 보고한 보고자료와 문서 양식을 조합하여 보고자료 보기 처리 해줌 작성자 : 강원중 작성일 : 2003.11.30 변경일 : 2004.09.16 |
|
**********************************************************************************************************/ |
|
|
|
package kr.co.kihyun.moumi.doc.table; |
|
|
|
import kr.co.kihyun.lang.MString; |
|
import kr.co.kihyun.moumi.doc.table.item.MItemInfo; |
|
import kr.co.kihyun.text.excel.CalculationForm; |
|
import kr.co.kihyun.text.excel.Excel; |
|
|
|
public class MTableRemaker { |
|
|
|
public static String remake(String form, MItemInfo info) { |
|
form = Excel.removeFmla(form); |
|
|
|
int stTD = 0; |
|
int edTD = 0; |
|
int itemCount = info.getItemNumList().length; |
|
|
|
StringBuffer reportBuf = new StringBuffer(); |
|
|
|
int rowNum = 1; |
|
|
|
for (int i = 0; i < itemCount; i++) { |
|
if (i > 0) { |
|
if (info.getTableNumList()[i] > info.getTableNumList()[i - 1]) { |
|
rowNum = 1; |
|
} else if (info.getRowNumList()[i] > info.getRowNumList()[i - 1]) { |
|
rowNum++; |
|
} |
|
} |
|
|
|
stTD = form.indexOf("<td"); |
|
if (stTD == -1) |
|
break; |
|
|
|
edTD = form.indexOf(">", stTD + 1); |
|
if (edTD == -1) |
|
break; |
|
|
|
if (!MString.isNull(info.getItemExprList()[i]) && info.getItemExprList()[i].indexOf("^") < 0 |
|
&& info.getItemExprList()[i].indexOf("~") < 0) { // 숫짜일때 |
|
reportBuf.append(form.substring(0, edTD)); |
|
reportBuf.append(" "); |
|
reportBuf.append(CalculationForm.getCalculationForm(CalculationForm.getCalculationForm( |
|
info.getItemExprList()[i], (info.getRowNumList()[i] - rowNum), "sub"))); |
|
reportBuf.append(">"); |
|
} else { |
|
reportBuf.append(form.substring(0, edTD)); |
|
reportBuf.append(">"); |
|
} |
|
|
|
form = form.substring(edTD + 1, form.length()); |
|
} |
|
|
|
reportBuf.append(form); |
|
return reportBuf.toString(); |
|
} |
|
|
|
}
|
|
|