• ALL STAR
  • 16874 Points
  • Member since 

  • Chatter
    Feed
  • 541
    Best Answers
  • 0
    Likes Received
  • 17
    Likes Given
  • 0
    Questions
  • 5251
    Replies
Hi All,
Winter 18 supports data loader for uploading customer inputs. 
https://releasenotes.docs.salesforce.com/en-us/winter19/release-notes/rn_service_bots_dataloader.htm

However, I it does not include details on how (e.g. which salesforce object to use). Does anyone know or where to get that details?
  • December 06, 2018
  • Like
  • 0
Hello All,

I have created a managed package and installed into other org. But I dont know why the system permission for the profiles(Standard & Custom) are not getting carried over throough the package. Especially on the system permission for a profile - Run Flows - permission is not getting enabled automatically in the target org.

Please help me with this, its really urgent for me.User-added image
Hi All,

Can any one tell me how to Summarize the Formula field (Custom Field) in Reports.

Thanks & Regards,
Sarma
I populated the standard Product Object with Products & activated all. I want to add some Products in the Opportunity Line Object via the standard Opportunity page. I am not seeing any Products when trying to add to the Opportunity or the Price Book.
PL. HELP!!!!
A strange thing is happening in the Email address field of our Contacts. After deleting an email address on saving the change the email address reappears in the Email address field. What is happening is
 
  1. Email address entered into Contact email field and saved
  2. Later need to delete the entered email address and leave the field blank.
  3. Click ‘Edit’ button or double click on Email address field
  4. Delete entered email address
  5. Click ‘Save’
  6. Deleted Email address reappears in the Email field.
 
I can edit an entered email address and save and the new edited email address remains in the field.  I can also delete the old email address, enter a totally new email address and save.  The totally new email address remains in the field.  This is all good.

The problem is just when I want to leave the email address blank.
 
I have tried using Firefox and Chrome but the problem continues with either brouser.
 
Contact Email address field is not a mandatory/required field.  Therefore, so we should be able to delete an email address when we know the email address is no longer active and no replacement email address is provided.
 
Can you suggest what is happening and what needs to be done to correct the situation.
 
Regards
Graeme.
 
I wanted to create a custom exception message and thought it to the lightning component .. Does its possible ?
getting this error

Challenge Not yet complete... here's what's wrong: 
The BoatReviews component doesn't have an event handler registered with aura:handler that reloads data from Apex any time the value of the component’s boat attribute is changed.

do i need more than this

    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <aura:method name="refresh" action="{!c.doInit}" />
    <aura:handler event="c:BoatSelected" action="{!c.onBoatSelected}"/>

onBoatSelected : function(component, event, helper) {
        
        var boat = event.getParam("boat");
        //console.log("----->"+boat)
        component.set("v.boat",boat);

 
Hi Geeks,

I am facing an error while checking the below challenge.

Your team's doing great, but how does next month look? Build a lens to visualize the product sales pipeline. Start by exploring the DTC Opportunity dataset. Under Bars, group by Close Date, and then group by Forecast Category. Change the measure from Count of Rows to Sum of # (quantity). Filter to show only open opportunities. Change the chart type to Timeline, and note that Forecast Category is now represented as bar segments. Then save the lens as Sales Pipeline Overview in the My Exploration app you created earlier.
  • Dataset: DTC Opportunity
  • Bars: Close Date (Year-Month)
  • Bar Segments: Forecast Category
  • Bar Length: Sum of #
  • Filters: Closed false
  • Chart Type: Timeline
  • Lens Name: Sales Pipeline Overview
  • App: My Exploration
There was an unhandled exception. Please reference ID: BTCZLJPH. Error: Faraday::ClientError. Message: 550: Lens State conversion has failed using converter insights.api.converters.DashboardState_V43r0_V44r0. Cannot open lens with new Wave Charts in API version below 40.0

User-added image

I have created the Lense as follows:

User-added image
Trying to switch out the static attachment in an email to dynamic based on a Data Extension(DE).

The Static:
%%[
%%=AttachFile("FTP","AIDI.pdf")=%%
]%%

And what I'm tried to replace it with:

%%[ var @Program,@ColumnProgramCode  set @ColumnProgramCode = Lookup("Program_Interest_G", "ProgramCode", "ProgramOfInterest", @Program)]%%
%%[
%%=AttachFile('FTP',%%@ColumnProgramCode%% +'.pdf')=%%
]%%

The DE is Program_Interest_G
the filed name is ProgramCode
<aura:component controller="BoatSearchResults">
    
    <aura:handler name="init" action="{!c.doSearch}" value="{!this}"/>
	<aura:attribute name="boats" type="Boat__c[]" />

 <lightning:layout horizontalAlign="center" verticalAlign="center">
            <lightning:layoutItem flexibility="grow"  class="slds-m-right_small" >   
    			<aura:iteration items="{!v.boats}" var="boatVar">
                	<c:BoatTile boat="{!boatVar}"/>
                </aura:iteration>
    		
               
                <aura:renderIf isTrue="{!v.boats.length==1}">
                    <div style="margin-left: 50%;">
                    <ui:outputText value="No boats found" />
                        </div>
                </aura:renderIf>
     </lightning:layoutItem>
    </lightning:layout>
</aura:component>
 
({
    onSearch : function(component, event, helper) {
        console.log('In Helper');
        var action=component.get('c.getBoats');
         action.setParam({"boatTypeId":''});
        action.setCallback(this,function(response) {
            if(response.getState() === 'SUCCESS')
            {
                var boatslist = response.getReturnValue();
                component.set("v.boats",boatslist);
            }
        });
        $A.enqueueAction(action);
    }
})
 
({
    doSearch: function(component, event, helper) {
          helper.onSearch(cmp);
    }
})
 
public with sharing class BoatSearchResults {

    @Auraenabled
    public static List<Boat__c> getBoats(String boatTypeId)
    {
       if(boatTypeId != '')
       {
       return ([Select Id,Name, BoatType__c , Contact__r.Name , Description__c,Geolocation__c,Length__c,Price__c,Year_Built__c
               from Boat__c Where Id = :boatTypeId]); 
       }
       else
       {
           return ([SELECT Id, BoatType__c, picture__c, name,contact__r.Name from Boat__c]);
       }
    }
}

 
Hello,
When i am trying to deploy.
I get below error message for a process builder, what can be the reason

myRule_8_A1 (Action Call) - We can't find an action with the name and action type that you specified
I have created a new auto number field in Log a call. But I am unable to add this field to the page layout... I want to see whether it's working or not. If everything is good, then I want to hide this field from page layout. let me know how to add this field to the layout. 
  • November 21, 2018
  • Like
  • 0
As user was created with Admin profile in sandbox, but when trying to install an app from the AppExchange the sandbox user name does not work. With some reserach saw that the user would need to have force.com login. How would that user find his force.com login information?
My Trailhead link is https://trailhead.salesforce.com/content/learn/modules/lex_customization/lex_customization_buttons_links/ (Add a custom button to a Contact). 

There was an unexpected error while verifying this challenge. Usually this is due to some pre-existing configuration or code in the challenge Org. We recommend using a new Developer Edition (DE) to check this challenge. If you're using a new DE and seeing this error, please post to the developer forums and reference error id: WUSKDVQQ

The button is created and it's working.

Please help!
Hello, I created a custom object. I would like to manage the profile permissions (Create, Read, Edit, Delete, View All, Modify All). However I get an error message when I try to save my modifications on a profile:

"Please fix the following:
Permission Create Data Provider Alternate Connections depends on permission(s): Read Data Providers
Permission Delete Data Provider Alternate Connections depends on permission(s): Read Data Providers
Permission Edit Data Provider Alternate Connections depends on permission(s): Read Data Providers
Permission Read Data Provider Alternate Connections depends on permission(s): Read Data Providers"

The problem is that I am unable to save my modification on Profile Overview > Object Settings
Thank you for your help!
User-added image
Albane Rigaud
Hi there, 

i am having a little trouble with lecture 5 of the "Customize Your Community - Share CRM Data with Your Partners" project. After creating all sharing rules as stated in the lecture, I can not verifiy the step. I receive the error message 

"Step not yet complete in My Trailhead Playground 16
There was an unexpected error in your org which is preventing this assessment check from completing: System.QueryException: List has no rows for assignment to SObject"

I double and tripple checked the whole configuration, but can not find any mistake and because the project is very tideous, I hope to avoid doing it all over again. Is there something, I can do or check to repair my org and finally pass this lecture?

Thanks in advance! 
Hi ,

How to get a Large data volume[LDV] org,i mean how i can open a case to enable Free LDV in my org

 
I'm looking at integrating Hubspot with my Salesforce, however I have never used HubSpot before. I intend to introduce Hubspot to my marketing team only. Is will be used solely by my marketing department to start creating lead records in HubSpot and integrate as well as synchronize those records in Salesforce. Also I'm looking to allow my marketing users to create campaigns, marketing e-mails, newsletters etc. in HubSpot and integrate such records in Salesforce. In order to become familiar with the integration process between the two systems I'm currently looking to find the most recent issues between HubSpot and Salesforce in terms of integration. Please share your experience and resources as I'm unaware what to expect in terms of issues related to the HubSpot and Salsforce integration.
I'm at step 7 of the Lightning Experience Reports & Dashboards Specialist superbadge and I'm getting this error: User-added image
All other challenges have checked out fine. I've cleared my browser, restarted, tried checking in a new dev ed org - no luck. Any help welcome. Super frustrating to get this far and not be able to complete the challenge. 
Hi All,
Greetings!!!

We have developed a mobile app with react native in front end and Salesforce in back end.  We want to publish this app in AppStore and Playstore. Any suggestions how to put salesforce apps in Appstore or playstore?  Any help in this regard is much appreciated.

Thanks in Advance.
User-added image
There is a field called Due Time that is showing under Activity information in reports. we are able to find one Due_Time__c field from activity custom fields, but not able to find Due Time field in statndard fields. Why i am not able to understand.

And Another field labled as Due Time and API name is activitydate, but it is showing as Date in reports, How it is possible??


 
Hello Folks,

When receiving the "Credential Status" email from Salesforce (after going to https://t.co/xfXDlCbX1f) for some reason (?) my Trailhead Profile appears as "not linked" (blank):
Here is a screenshot of the portion of the received email:

User-added image

What do you think the reason is?
Salesforce has set a deadline to resolve this: 14th-Decembre-2018
Any clue?

My Webassessor seems to be linked already (as displayed above on the screenshot).

I can see that my Trailhead settings show my linked account as "inactive" (?) - I do not know what that means.

User-added image
I have tried clicking the button "connect or merge" and I have re-provided my login credentials for my users but it says "Whoops, looks like there was a problem. Account already linked to this profile."

How can I resolve this? (Salesforce Trailhead Support has not replied my Case#00028586 which I created on the 14th November!)

Thank you very much.
Hi,

We are implementing SalesForce right now and looking for some guidance/help from you on the integration part with PeopleSoft. The plan is to send PeopleSoft data to SF when it gets added/modified. Can you please help me the way(s) that you guys have done this already? Please help.

If any other details needed, please let me know.

Thanks.
Hi All,

I'm facing a issue in trailhead, I cannot able to use filters in trailhead trails/modules tab.
There is no scrollbar to scroll and select other filters.

Trailhead Filter Issue

Am I the only one facing this issue or any others. 

I have tried the following browsers,
  • Google Chrome
  • UC Browser
  • Microsoft Edge
I am getting the below error, when i am trying to insert a record from custom object into standard opportunityLineItemSchedule object by firing a trigger

Exception Mesage:Insert failed. First exception on row 0; first error: FIELD_INTEGRITY_EXCEPTION, field integrity exception: Type, Quantity, unknown (invalid quantity/revenue for given type): [Type, Quantity, unknown]
  • December 09, 2018
  • Like
  • 0
Hola,

Trying to get CPQ installed in an Enterprise Scratch Org and the only things I've seen referencing how to achieve this say to use 
>sfdx force:package:install
but I don't have any more info on how this specifically applies to CPQ. I also tried using 
>sfdx force:package:install -i 04tA0000000WZvmIAG
to no avail. Any help would be appreciated, we are trying to set up a POC to run automated business process and UI testing against and CPQ is integral to getting our code stood up against.
Hello,
I am trying to get the profile and username in JavaScript button but I am getting an error when trying to click on the button
{!REQUIRESCRIPT("/soap/ajax/36.0/connection.js")} {!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
var currentuser = sforce.connection.getUserInfo();
if('{!Contract_Approval_Form__c.Approval_Status__c}' == 'Approved') { alert('{!$Profile.Name}') if('{!$User.Id}' == '005E00000088akt') { window.open("/apex/echosign_dev1__AgreementTemplateProcess?masterid={!Contract_Approval_Form__c.Id}&templateId=aH0V0000000CcVSKA0 ","_self"); }else if('{!$User.Id}' == '005E0000001noF2IAI') { window.open("/apex/echosign_dev1__AgreementTemplateProcess?masterid={!Contract_Approval_Form__c.Id}&templateId=aH0V00000008PXg ","_self"); }else if('{!$Profile.Id}' == '00eE0000000eOCd') { window.open("/apex/echosign_dev1__AgreementTemplateProcess?masterid= {!Contract_Approval_Form__c.Id}&templateId=aH0V00000008PXl ","_self"); } }else { window.alert("Please make sure Approval Status to be Approved"); }
When ever I add else if('{!$Profile.Id}' == '00eE0000000eOCd') condition , button is failing .Can you please let me know what I am missing
Hello all,

While preparing for the sales cloud certificate, I came across a question which seems debatable to me. I find in the documentation of work.com that A is possible. However, C and D seem to be also true (although the correct way to phase D would be to skip the word "coaching"). Can you please help and tell me which options are true and why?

How can you use Work.com to increase the productivity of your sales reps?(Choose 2 answers) 
A. Feedback can be requested for the entire sales team
B. Coaching statistics can be linked to reports
C. Feedback can be given publicly or privately
D. Coaching goals can be linked to reports
Hi guys,
I want to display day of the date in report. Start date is 2/10/2018 then need to display as Tue 2-Oct-2018.
Please help me to do this.
Thanks in advance
  • December 06, 2018
  • Like
  • 0

I have implemented SLDS ComboBox, And it's working great. But, I'm not able to set up keyboard interaction, with the list of available option. 
I mean, I should be able to select the option, by keyboard Up/down and Enter key
Hellow experts,

I am getting below error while trying to establish the Oauth connection (JWT) between Talend and Salesforce :

RuntimeException: HTTP status:400 - Bad Request message:
{"error":"invalid_grant","error_description":"audience is invalid"}

I have followed the steps mentioned in the below link for creating Connected App in Salesforce.

https://developer.salesforce.com/docs/atlas.en-us.210.0.sfdx_dev.meta/sfdx_dev/sfdx_dev_auth_connected_app.htm

Please note I am able to connect using basic method which uses my username, password and security token.

Problem is when I try to setup an OAuth connection.

Here are the steps I have performed :
Downloaded the self signed certificate from salesforce.
Created the connected app
Used following url to authenticate the user
https://test.salesforce.com/services/oauth2/authorize? client_id=[Consumer Key]&redirect_uri=https://test.salesforce.com/services/oauth2/success&response_type=code
Settings on talend connection:
Name : Name of the Connection
Connection Type : oAuth
Oauth2 flow type : Json web token Flow
Issuer : client_Id from connected app
Subject : Salesforce userName
Expiration in time : 600
Keystore : Certificate from salesforce
Keystore Password : password for certificate
Certificate alias : Name of the certificate.
Advanced setting : Salesforce Url :https://test.salesforce.com/services/oauth2

Please help. Any information would be a great help.

Cheers
 
  • December 03, 2018
  • Like
  • 0
I have a lookup relationship between Order Line and Contact Objects where Contact is the parent. I am writing a batch class which looks for certain criteria on Order Line and send email to Contacts excluding the duplicates. 

Right now I have  2 duplicate Order Lines for the Contact and the batch is supposed to send 1 email. But in this code, there are 3 emails sent out. Can someone help with this?
 
global class BatchSendEmails implements Database.Batchable<SObject>
{
global Database.QueryLocator start(Database.BatchableContext BC){
	return Database.getQueryLocator([select id,Contact__r.Email,Contact__c,Account__c from Order_Line__c 
                                     where Order__r.OrderApi__Date__c = LAST_N_DAYS:3]);
}
      
    global void execute (Database.BatchableContext BC, List<Order_Line__c> scope){
         List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
                                 List<String> email = new List<String>(); 
      
       List<Order_Line__c> sollist = [SELECT Id, Item__c, Contact__c,Order__c ,Contact__r.Email FROM Order_Line__c
        WHERE Order__r.Date__c = LAST_N_DAYS:3 AND Item__r.Name = 'Test'];
       
        Set<Id> solids = new Set<Id>();
        for(Order_Line__c ol : ollist){
            if(ol.id != null){
               olids.add(ol.Contact__c);
                system.debug('Added Contacts'+olids);
            }
        }
        
        AggregateResult[] groupedResults = [
        SELECT COUNT(Id) dups, Item__c, Contact__c,Order__c,Contact__r.Email
        FROM Order_Line__c
        WHERE Contact__c =:solids and Sales_Order__r.Date__c = LAST_N_DAYS:3 
        AND Item__r.Name = 'Test'    
        GROUP BY Item__c,Contact__c,Contact__r.Email,Order__c
         HAVING COUNT(Id) = 1];

        for(AggregateResult ar:groupedResults){
            String custid = (ID)ar.get('OrderApi__Contact__c');
            
          //	email.add(custid);
            
        List<Order_Line__c> sollist1 = [select id, Contact__r.Email,Order__c from Order_Line__c where id=: ar.Id limit 1];
            email.clear();
                email.add(ollist[0].OrderApi__Contact__r.Email); */
                                 List<String> ccemail = new List<String>();                                 
                                 ccemail.add('test@test.com');
    							 Contact c = [select id, Email from Contact where email <> null limit 1];
            try{                             
EmailTemplate templateId = [Select id from EmailTemplate where name = 'Email'];                                                   
                    system.debug(email);
                Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
                 OrgWideEmailAddress owa = [select id, DisplayName, Address from OrgWideEmailAddress where address = 'testing@test.org' limit 1];
                                            system.debug(email.size());
                                            mail.setToAddresses(email);
                                            mail.setccAddresses(ccemail);
                                            mail.setOrgWideEmailAddressId(owa.id);
                                            mail.setTargetObjectId(c.Id);
           									mail.setTreatTargetObjectAsRecipient(false);
                                            mail.setTemplateID(templateId.Id); 
                                            mail.setSaveAsActivity(false); 
                                            mails.add(mail);
                                            system.debug(mail);
											
                          
                                 Messaging.sendEmail(mails);
            }catch(Exception e){
                system.debug('Exception occured' +e);
            }
                
    }
    }
        
    global void finish(Database.BatchableContext BC){
        
    }
}

 
  • November 28, 2018
  • Like
  • 1
Hi,

I previously had a Developer Account where I added an app (+- 6 months ago)

Now, when I try to log in on that account, it does not recognize me.
I tried to change my password. Salesforce says it sent me an email but it never arrives
I need to get the account back because all the work has already been done

It was a connected app

I had to create a new account under a different name just to be able to post here

Please help!

Thanks
 
Apex class :-

    global class BlockIEPolicyCondition implements TxnSecurity.PolicyCondition {
     public boolean evaluate(TxnSecurity.Event e) {
      List<User> users = [SELECT ProfileId FROM User WHERE Id = :e.UserId];
            String profileId = (String)users.get(0).get('ProfileId');
            List<Profile> profiles = [SELECT Name FROM Profile WHERE Id = :profileId];
            String profileName = (String)profiles.get(0).get('Name');
            LoginHistory eObj = [SELECT Browser FROM LoginHistory WHERE Id = :e.data.get('LoginHistoryId')];
            string profileName1 = '"' +profileName + '"';
            String P=system.label.BlockIEPolicyProfile;
    Boolean ismatch = p.contains(profileName1);
    if(ismatch){
      if(eObj.Browser == 'IE 11' || eObj.Browser == 'IE 10' || eObj.Browser == 'IE 9' || eObj.Browser == 'IE 8') {
       return true;
     }
     }
    
     return false; 
    }
     }
I want to achieve one requirement that when Manager A logs in to his Org, then he should see only employees under him not under any other manager using lookup. Can someone help me to achieve it?
Trying to test the App in Salesforce1 - When I click "App Launcher" and then Salesforce.com I get this error message: Python 2.5 is no longer available. Please refer to https://goo.gl/aESk5L for more information. 

Please help so I can move forward. Thank you!
I would like to connect my org to the external data using OData 4.0. I have been configured the External Data Source and automatically create External Object.
But there is a problem when creating record in the external object. After save button clicked, then error dialog appears, see image below:
User-added image
Actually the data that I inserted was successfully created, but I still meet this error.
FYI, I have been configured the primary key on OData configuration and MySQL database.
I have a custom object called 'Class_Allocation__c' and have a lookup field on this object called 'Related_Contact__c.  I need expert help to write a trigger on Class_Allocation__c to auto copy the contact Id into this field based on 'Student__Name__c' field on Class_Allocation__C and Student_id_from_Student_object__c (on contact)
  • September 15, 2017
  • Like
  • 1
Hello All,
I need to be able to update an Azure database from Salesforce.  Mainly for Cases and Lawyers, when cases or lawyers get updated I need to update the Azure DB as well.
I have seen the examples that talk about Azure to Salesforce, but I have not seen anything talking about Salesforce to Azure.
I have looked at both the Salesforce WCF and RestAPI https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
But again these go from Azure to Salesforce.

Is it possible to go the other way?  What would be the best approch to this as I have seen many differnt approches to connecting.
We don't want any syncing of data, just to make a .NET call when Salesforce records get updates ect.. to update our Azure DB.
Thanks,
K.
HELP
I am a brand new admin and I know nothing about the admin side of SalesForce.  Can someone explain to me how I can check if my org is using a single sign-on or HTTPS call outs?   I need to know if the default certificate retirement on 8/7/17 will affect my org before 8/7/17.   I've been reading about it but none of it makes sense to me.
when I was installing an app from appexchange, I got the oauth error. My account is the type of 30-day-free. 

Error code : 1800。

who can help me?
  • May 17, 2017
  • Like
  • 1
I have following scenario and want to set up partner community license.

1. Have profile Customer service rep.
2. He has access to only Order object.

i know we need to set Account as partner and then contacts need to be enabled as partner and then create user and assign the partner community profile.
But if i have no.of users and want to assign them Partner Community License  and Customer service repprofile, how i should proceed to implement this?

Could you please suggest?
I found an error in a Trailhead, thought I'd help anyone else with the same problem. While trying to solve the Using Events to Add Markers to the Map section of the Build an Account Geolocation App trailhead I kept receiving an error about a null value. Debugging the code I found that the map variable in AccountMapController.js was null. This is because the accounts were loading faster than the Leaflet.js libraries. To get around this I changed the accountsLoaded function to recursively check if the map existed only add markers once the map was an object:

   if(component.get("v.map") != null){
            var map = component.get("v.map");

            alert(map);
            
            var accounts = event.getParam("accounts");
            for (var i=0; i<accounts.length; i++) {
                var account = accounts[i];
                var latLng = [account.Location__Latitude__s, account.Location__Longitude__s];
                L.marker(latLng, {account: account}).addTo(map);
            }  
        }else{
            accountsLoaded(component, event, null); 
        }

Hello,

I am creating my first visualforce email. 
 

I am trying to list the Opportuntiy; owner, contact roles, and  opportuntiy team all on email template. I been able to figure out how to add the opportunity contact roles but I can't figure out how to add the Opportuntiy Owner and Opportuntiy team through the email code. 

Please see my visualforce code below. Thanks in Advance! 

<messaging:emailTemplate subject="Testing VF" recipientType="User" relatedToType="Opportunity">
<messaging:plainTextEmailBody >
Hello,
 
This is testing the text section....
Opportunity Name: {!Relatedto.name}
Account: {!Relatedto.account.name}
Amount: {!Relatedto.amount}
 
Contact Roles for this Opportunity:
<apex:repeat value="{!RelatedTo.OpportunityContactRoles}" var="ContactRole">
{!ContactRole.Contact.Name} {!ContactRole.Contact.Email}
</apex:repeat>
<apex:repeat var="team" value="{!relatedTo.opportunityteammembers}">
</apex:repeat>

Thanks!
</messaging:plainTextEmailBody>
</messaging:emailTemplate>

Hello Experts,

I have created excel workbook with help of VF page & XML Spreadsheet Reference. However I am not able to insert the company's logo in the first sheet. Can any one please suggest me how to insert an image in the sheet. Below is the VF code :

<apex:page controller="XYZ_controller" sidebar="false" showHeader="false"  contentType="application/vnd.ms-excel#{!object.Name__c}_Bid_Preview.xls" cache="true" action="{!changeProposalStatus}">
    {!xmlheader}
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
      xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:x="urn:schemas-microsoft-com:office:excel"
      xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
      xmlns:html="http://www.w3.org/TR/REC-html40">
         
        <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
            <AllowPNG/>
        </OfficeDocumentSettings>
        
        <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
            <WindowHeight>7845</WindowHeight>
            <WindowWidth>12045</WindowWidth>
            <WindowTopX>630</WindowTopX>
            <WindowTopY>630</WindowTopY>
            <ProtectStructure>False</ProtectStructure>
            <ProtectWindows>False</ProtectWindows>
        </ExcelWorkbook>

<Worksheet ss:Name="Cover">
  <Table>
  <Column ss:Width="70" ss:StyleId="s_plain"/>
  <Column ss:Width="100" ss:StyleId="s_plain"/>
  <Column ss:Width="100" ss:StyleId="s_plain"/>
  <Column ss:Width="250" ss:StyleId="s_plain"/>

    <Row>
        <Cell  ss:Index="2" ss:StyleID="s9_confidential" ss:MergeAcross="3"><Data ss:Type="String">CONFIDENTIAL</Data></Cell>
    </Row>
    <Row></Row>
      
<I NEED TO INSERT AN IMAGE HERE i.e COMPANY'S LOGO> (For testing, any logo will do)

<Row ss:AutoFitHeight="1">
        <Cell  ss:Index="2" ss:StyleID="s_cover_heading" ss:MergeAcross="3"><Data ss:Type="String">Test Data</Data></Cell>
    </Row>
    <Row>
        <Cell  ss:Index="2" ss:StyleID="s_cover_heading_lab" ss:MergeAcross="3"><Data ss:Type="String">Test Data</Data></Cell>
    </Row>
    <Row></Row>
    
</Worksheet> 
   </Workbook>  
</apex:page>
    
I request your swift support and help on this. Your efforts would be greatly appreciated. Thanks in advance...!!
  • July 21, 2016
  • Like
  • 1