Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <apex:page controller="importDataFromCSVController" >
- <apex:form >
- <apex:pagemessages />
- <apex:pageBlock >
- <apex:pageBlockSection columns="7" >
- <apex:inputFile value="{!csvFileBody}" filename="{!csvAsString}"/>
- <apex:commandButton value="Import Timesheet" action="{!importCSVFile}"/>
- </apex:pageBlockSection>
- </apex:pageBlock>
- <apex:pageBlock >
- <apex:pageblocktable value="{!applist}" var="app">
- <apex:column value="{!app.id__c}" />
- <apex:column value="{!app.Total_Number_of_Hours_worked__c}" />
- <apex:column value="{!app.Total_Cleint_Holidays__c}" />
- <apex:column value="{!app.Total_Number_of_Days_worked__c}" />`
- </apex:pageblocktable>
- </apex:pageBlock>
- </apex:form>
- </apex:page>
- public void importCSVFile(){
- try{
- csvAsString = csvFileBody.toString();
- csvFileLines = csvAsString.split('n');
- for(Integer i=1;i<csvFileLines.size();i++){
- appointment__c appObj = new appointment__c () ;
- string[] csvRecordData = csvFileLines[i].split(',');
- appObj.id__c = csvRecordData[24] ;
- appObj.Total_Number_of_Hours_worked__c = Decimal.Valueof(csvRecordData[168]);
- appObj.Total_Cleint_Holidays__c = Decimal.Valueof(csvRecordData[172]);
- appObj.Total_Number_of_Days_worked__c = Decimal.Valueof(csvRecordData[176]);
- applist.add(appObj);
- }
- //insert acclist;
- }
- catch (Exception e)
- {
- ApexPages.Message errorMessage = new ApexPages.Message(ApexPages.severity.ERROR,'An error has occured while importin data Please make sure input csv file is correct');
- ApexPages.addMessage(errorMessage);
- }
- }
- }
- intIndex = 0;
- boolFound = false;
- while(intIndex < csvFileLines.size() && !boolFound) {
- string[] csvRecordData = csvFileLines[intIndex].split(',');
- if(!csvRecordData[0].isNumeric()) {
- boolFound = true;
- }
- }
- TotalNumberofHoursworked = csvFileLines[intIndex];
- Total Cleint Holidays = csvFileLines[intIndex + 1]
- csvFileLines = new String[]{}; //create an array of string
- csvAsString = bfile.toString() ; //convert the blob into a string file in order to enable processing
- csvFileLines = csvAsString.split('n'); //split the string file lines so that the
- //records/rows can be accessible
- String[] columns = csvFileLines[rowIndex].split(',',-1);
- for(integer j= 0; j<columns.size(); j++){
- if (j== colIndex){
- Value = columns[colIndex];
Add Comment
Please, Sign In to add comment