我有两个不同的Excel文档。我想举个例子。第一个文件:100个现金帐户给了50土耳其里拉。
第二份文件:100现金帐户会产生20土耳其里拉。
有很多键,例如100。(120,121,123 01,124 01 003)
有一些计算子帐户的方法。 (如果总和为120 01和120 02,这将返回120个主要帐户)实际上我要解释我的代码并不重要。
在Windows上,一切正常。我正确创建了这个新的Excel文档。但是在Mac上,结果是返回错误。我该如何解决这个问题?
我认为列表对象可能包括现金或其他东西,因此我首先定义列表对象为空。
public void debitCreditKontrol3(int user_id, int ay, int yil) {
List<Object[]> getListDebit=null;
List<Object[]> getListCredit=null;
getListDebit = hesapAnalizRepository.getHesapListDebit(user_id, yil, ay);
getListCredit = hesapAnalizRepository.getHesapListCredit(user_id, yil, ay);
String getSimilarId = null;
//user_id,amount_sub,month,year,sub_account_id ,id ,bolunme_sayisi
for (Object[] list : getListDebit) {
String hesapAdi = (String) list[4];
int lastSpaceIndex = hesapAdi.lastIndexOf(" ");
if (lastSpaceIndex == -1)
continue;
String hesapAdiBirBosluk = hesapAdi.substring(0, lastSpaceIndex);
System.out.println(hesapAdiBirBosluk);
int month = (Integer) list[2];
int year = (Integer) list[3];
List<Object[]> getListAccountSub1 =null;
getListAccountSub1 = hesapAnalizRepository.getListAccountSub1Debit(user_id, year, month, hesapAdiBirBosluk);
//user_id ,sum(amount_sub),month, year
getSimilarId = hesapAnalizRepository.getAccountSubIdDebit(hesapAdiBirBosluk, user_id, year, month);
if (getSimilarId != null) {
continue;
} else {
for (Object[] list1 : getListAccountSub1) {
HesapAnaliziEntity hesapAnaliziEntity = new HesapAnaliziEntity();
hesapAnaliziEntity.setUserId((Integer) list1[0]);
hesapAnaliziEntity.setSubAccountId((String) hesapAdiBirBosluk);
hesapAnaliziEntity.setAmountSubDebit((Double) list1[1]);
hesapAnaliziEntity.setMonth((Integer) list1[2]);
hesapAnaliziEntity.setYear((Integer) list[3]);
hesapAnaliziEntity.setTagName("D");
hesapAnaliziEntity.setAmountSubCredit(0.0);
hesapAnaliziEntity.setBolunmeSayi((Integer) 1);
hesapAnalizRepository.save(hesapAnaliziEntity);
}
}
}
for (Object[] list : getListCredit) {
String hesapAdi = (String) list[4];
int lastSpaceIndex = hesapAdi.lastIndexOf(" ");
if (lastSpaceIndex == -1)
continue;
String hesapAdiBirBosluk = hesapAdi.substring(0, lastSpaceIndex);
System.out.println(hesapAdiBirBosluk);
int month = (Integer) list[2];
int year = (Integer) list[3];
List<Object[]> getListAccountSub1=null;
getListAccountSub1 = hesapAnalizRepository.getListAccountSub1Credit(user_id, year, month, hesapAdiBirBosluk);
//user_id ,sum(amount_sub),month, year
getSimilarId = hesapAnalizRepository.getAccountSubIdCredit(hesapAdiBirBosluk, user_id, year, month);
if (getSimilarId != null) {
continue;
} else {
for (Object[] list1 : getListAccountSub1) {
HesapAnaliziEntity hesapAnaliziEntity = new HesapAnaliziEntity();
hesapAnaliziEntity.setUserId((Integer) list1[0]);
hesapAnaliziEntity.setSubAccountId((String) hesapAdiBirBosluk);
hesapAnaliziEntity.setAmountSubCredit((Double) list1[1]);
hesapAnaliziEntity.setMonth((Integer) list1[2]);
hesapAnaliziEntity.setYear((Integer) list[3]);
hesapAnaliziEntity.setTagName("C");
hesapAnaliziEntity.setAmountSubDebit(0.0);
hesapAnaliziEntity.setBolunmeSayi((Integer) 1);
hesapAnalizRepository.save(hesapAnaliziEntity);
}
}
}
}
我必须创建一个新的Excel文档来汇总此现金帐户。 (50 + 20 = 70土耳其里拉)。 Windows给了我70,但是macOS给了我657E2