Hi RIshi,
I answered myself, I got the patch . Built and restarted ofbiz. I used the
same exploratory xls file with the patch.
As per the documentation, by Clicking on Import Text I got the result as
“Got 3 entities to write to the datasource.”
After restarting ofbiz, I do not see the xls data entry into my database
Entities - 'Product' and 'InventoryItem'
Am I missing something?
Thank you for the help.
Shuchi-
This will schedule “productImport” service
Rishi Solanki wrote:
>
> Hi,
> Look at the ImportProductServices.java, here you will get the
> productImportFromSpreadsheet() service to import the product data from
> Excel
> sheet.
> You just need to put your Excel sheet in your ${OFBIZ-HOME}/spreadsheet
> directory (need to create). Now go to webtools run service
> productImportFromSpreadsheet without passing any parameter. If your Excell
> Sheet has some other Product entity field then those needs to be handle by
> modifying the service.
>
> Rishi Solanki
> Enterprise Software Developer
> HotWax Media Pvt. Ltd.
>
>
> On Fri, Nov 13, 2009 at 10:57 AM, S K Pradeep kumar <
> [email protected]> wrote:
>
>> Study about webtools there is one data import facility study that and use
>> it
>> for your requirements.
>>
>>
>> With regards,
>> S K Pradeep kumar,
>>
>>
>>
>> On Thu, Nov 12, 2009 at 8:05 PM, su2 <[email protected]> wrote:
>>
>> >
>> > Hi Pradeep,
>> >
>> > Sorry still little confuse. How am I going to use DemoProduct.xml file?
>> I
>> > understood the file I can have all my required data there, but after
>> that
>> > what should I be doing in order to insert the data in entities?
>> >
>> > Thank you.
>> > Shuchi -
>> >
>> > S K Pradeep kumar wrote:
>> > >
>> > > you can find the xml filse in the data folder in all the
>> application/*
>> > > module , to create the new products use DemoProduct.xml file.
>> > >
>> > > With regards,
>> > > S K Pradeep kumar,
>> > >
>> > >
>> > >
>> > > On Thu, Nov 12, 2009 at 7:12 PM, su2 <[email protected]> wrote:
>> > >
>> > >>
>> > >> Hi Pradeep,
>> > >>
>> > >> Thanks for your response.
>> > >>
>> > >> Sorry I am new to ofbiz. But I am not sure where to define the
>> entity
>> > >> names
>> > >> and the entity-field names where I want to insert the data(as all
>> the
>> > >> information like price and others for the product is not stored in
>> only
>> > >> 'Product' entity, I need to insert the data in multiple entities)?
>> > >>
>> > >> Do I have to specify in XML? Do you have any sample xml file? I want
>> to
>> > >> insert data for new products
>> > >>
>> > >> Also, I see entity "DataImportProduct". What is that for?
>> > >>
>> > >> Once again thank you for the help.
>> > >>
>> > >> Shuchi-
>> > >>
>> > >>
>> > >> S K Pradeep kumar wrote:
>> > >> >
>> > >> > Hi shuchi,
>> > >> >
>> > >> > Convert your .cvs to xml and use webtools entity import.
>> > >> >
>> > >> > With regards,
>> > >> > S K Pradeep kumar,
>> > >> >
>> > >> >
>> > >> >
>> > >> > On Thu, Nov 12, 2009 at 12:52 AM, su2 <[email protected]>
>> wrote:
>> > >> >
>> > >> >>
>> > >> >> Hi Jacques,
>> > >> >>
>> > >> >> I want to insert all the excel data into the database. I looked
>> at
>> > >> >> viewdatafile screen, and looked like, using that I can not insert
>> all
>> > >> my
>> > >> >> excel data into database tables.
>> > >> >>
>> > >> >>
>> > >> >> Jacques Le Roux wrote:
>> > >> >> >
>> > >> >> > I'd use CSV with
>> > >> https://localhost:8443/webtools/control/viewdatafile
>> > >> .
>> > >> >> I
>> > >> >> > let you find more on this ML archives...
>> > >> >> >
>> > >> >> > Jacques
>> > >> >> >
>> > >> >> > From: "su2" <[email protected]>
>> > >> >> >>
>> > >> >> >> Hi Nalin,
>> > >> >> >>
>> > >> >> >> We have similar requirement where we want to upload/import all
>> the
>> > >> >> >> product
>> > >> >> >> information from excel sheet.
>> > >> >> >>
>> > >> >> >> I would really appreciate if you could tell me, how we can
>> achieve
>> > >> >> that.
>> > >> >> >>
>> > >> >> >> Thank you.
>> > >> >> >> Shuchi-
>> > >> >> >>
>> > >> >> >> Nalin Chandra wrote:
>> > >> >> >>>
>> > >> >> >>> Hi All
>> > >> >> >>>
>> > >> >> >>> I want to import the product related data from excel sheet. I
>> did
>> > >> it
>> > >> >> but
>> > >> >> >>> i
>> > >> >> >>> have one problem in this.
>> > >> >> >>> I excel sheet i have absolute path of image now i want to
>> upload
>> > >> the
>> > >> >> >>> image
>> > >> >> >>> from that absolute path to our application as well store the
>> > >> relative
>> > >> >> >>> path
>> > >> >> >>> in data base as we did in product content section.
>> > >> >> >>> i am able to store the relative path in database but image in
>> not
>> > >> >> >>> uploading in the required folder.
>> > >> >> >>>
>> > >> >> >>> Main problem is that here i am not using any html form.
>> > >> >> >>>
>> > >> >> >>> i paste the code below for it
>> > >> >> >>>
>> > >> >> >>> public static String uploadCategory(HttpServletRequest
>> request,
>> > >> >> >>> HttpServletResponse response) {
>> > >> >> >>>
>> > >> >> >>> try
>> > >> >> >>> {
>> > >> >> >>> String filename = "D:/category.xls";
>> > >> >> >>> WorkbookSettings ws = new WorkbookSettings();
>> > >> >> >>> ws.setLocale(new Locale("en", "EN"));
>> > >> >> >>> Workbook workbook = Workbook.getWorkbook(new
>> > >> >> >>> File(filename),ws);
>> > >> >> >>> Sheet s = workbook.getSheet(0);
>> > >> >> >>> readCategoryDataSheet(s, request);
>> > >> >> >>> workbook.close();
>> > >> >> >>> }
>> > >> >> >>> catch (IOException e)
>> > >> >> >>> {
>> > >> >> >>> e.printStackTrace();
>> > >> >> >>> }
>> > >> >> >>> catch (BiffException e)
>> > >> >> >>> {
>> > >> >> >>> e.printStackTrace();
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> return "success";
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> private static void readCategoryDataSheet(Sheet s,
>> > >> >> >>> HttpServletRequest
>> > >> >> >>> request)
>> > >> >> >>> {
>> > >> >> >>> Cell rowData[] = null;
>> > >> >> >>> int successCount = 0;
>> > >> >> >>> int failCount = 0;
>> > >> >> >>> int rows = s.getRows();
>> > >> >> >>> int column = s.getColumns();
>> > >> >> >>> String productCategoryId = "";
>> > >> >> >>> String productCategoryTypeId = "";
>> > >> >> >>> String primaryParentCategoryId = "";
>> > >> >> >>> String categoryName = "";
>> > >> >> >>> String description = "";
>> > >> >> >>> String longDescription = "";
>> > >> >> >>> String categoryImageUrl = "";
>> > >> >> >>> String linkOneImageUrl = "";
>> > >> >> >>> String prodCatalogId = "";
>> > >> >> >>> String prodCatalogCategoryTypeId = "";
>> > >> >> >>> String sequenceNum = "";
>> > >> >> >>>
>> > >> >> >>> for (int i = 1; i < rows; i++) {
>> > >> >> >>> rowData = s.getRow(i);
>> > >> >> >>> if (rowData[0].getContents().length()
>> !=
>> > >> 0)
>> > >> {
>> > >> >> >>> for (int j = 0; j < column;
>> j++)
>> > {
>> > >> >> >>> switch (j) {
>> > >> >> >>> case 0:
>> > >> >> >>>
>> productCategoryId
>> > >> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 1:
>> > >> >> >>>
>> > >> productCategoryTypeId
>> > >> >> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 2:
>> > >> >> >>>
>> > >> >> primaryParentCategoryId
>> > >> >> >>> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 3:
>> > >> >> >>> categoryName
>> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 4:
>> > >> >> >>> description =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 5:
>> > >> >> >>>
>> longDescription
>> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 6:
>> > >> >> >>>
>> categoryImageUrl
>> > =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> case 7:
>> > >> >> >>>
>> linkOneImageUrl
>> =
>> > >> >> >>> rowData[j].getContents();
>> > >> >> >>> default:
>> > >> >> >>> break;
>> > >> >> >>> }
>> > >> >> >>> }
>> > >> >> >>> }
>> > >> >> >>> String imageFilenameFormat =
>> > >> >> >>> UtilProperties.getPropertyValue("catalog",
>> > >> "image.filename.format");
>> > >> >> >>> String imageServerPath =
>> > >> >> >>> UtilProperties.getPropertyValue("catalog",
>> "image.server.path");
>> > >> >> >>> String imageUrlPrefix =
>> > >> >> >>> UtilProperties.getPropertyValue("catalog",
>> "image.url.prefix");
>> > >> >> >>>
>> > >> >> >>>
>> > >> >> >>> // upload image
>> > >> >> >>> FlexibleStringExpander
>> filenameExpander
>> =
>> > >> new
>> > >> >> >>> FlexibleStringExpander(imageFilenameFormat);
>> > >> >> >>> String catImageUrl = "";
>> > >> >> >>> String linkImageUrl = "";
>> > >> >> >>> if(categoryImageUrl != null &&
>> > >> >> >>> categoryImageUrl.length() > 0){
>> > >> >> >>> Object forLock = new
>> Object();
>> > >> >> >>> String contentType = null;
>> > >> >> >>> String categoryImageLocation
>> =
>> > >> >> >>> filenameExpander.expandString(UtilMisc.toMap("location",
>> > >> >> "categories",
>> > >> >> >>> "type", "category", "id", productCategoryId));
>> > >> >> >>> String filePathPrefix = "";
>> > >> >> >>> String filenameToUse =
>> > >> >> >>> categoryImageLocation;
>> > >> >> >>> if
>> > >> >> (categoryImageLocation.lastIndexOf("/")
>> > >> >> >>> !=
>> > >> >> >>> -1) {
>> > >> >> >>> filePathPrefix =
>> > >> >> >>> categoryImageLocation.substring(0,
>> > >> >> >>> categoryImageLocation.lastIndexOf("/")
>> > >> >> >>> + 1); // adding 1 to include the trailing slash
>> > >> >> >>> filenameToUse =
>> > >> >> >>>
>> > >> >>
>> > categoryImageLocation.substring(categoryImageLocation.lastIndexOf("/")
>> > >> >> +
>> > >> >> >>> 1);
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> int i1;
>> > >> >> >>> if (contentType != null && (i1 =
>> > >> >> >>> contentType.indexOf("boundary=")) != -1) {
>> > >> >> >>> contentType =
>> > >> >> contentType.substring(i1
>> > >> >> +
>> > >> >> >>> 9);
>> > >> >> >>> contentType = "--" +
>> contentType;
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> String defaultFileName =
>> > filenameToUse
>> > >> +
>> > >> >> >>> "_temp";
>> > >> >> >>> HttpRequestFileUpload
>> uploadObject
>> =
>> > >> new
>> > >> >> >>> HttpRequestFileUpload();
>> > >> >> >>>
>> > >> >> >>> uploadObject.setOverrideFilename(defaultFileName);
>> > >> >> >>>
>> > >> uploadObject.setSavePath(imageServerPath
>> > >> >> +
>> > >> >> >>> "/"
>> > >> >> >>> + filePathPrefix);
>> > >> >> >>> try{
>> > >> >> >>> uploadObject.doUpload(request);
>> > >> >> >>>
>> > >> >> >>> }catch(IOException e){
>> > >> >> >>> Debug.logInfo("Image uploading
>> > >> failure",
>> > >> >> >>> module);
>> > >> >> >>> }
>> > >> >> >>> String categoryImageFileName =
>> > >> >> >>> uploadObject.getFilename();
>> > >> >> >>>
>> > >> >> >>> if (categoryImageFileName != null
>> &&
>> > >> >> >>> categoryImageFileName.length() > 0) {
>> > >> >> >>> if
>> > >> >> >>> (categoryImageFileName.lastIndexOf(".")
>> > >> >> >>> > 0 && categoryImageFileName.lastIndexOf(".") <
>> > >> >> >>> categoryImageFileName.length()) {
>> > >> >> >>> filenameToUse +=
>> > >> >> >>>
>> > >> >>
>> > >>
>> categoryImageFileName.substring(categoryImageFileName.lastIndexOf("."));
>> > >> >> >>> } else {
>> > >> >> >>> filenameToUse += ".jpg";
>> > >> >> >>> }
>> > >> >> >>> try{
>> > >> >> >>> String characterEncoding =
>> > >> >> >>> request.getCharacterEncoding();
>> > >> >> >>> catImageUrl = imageUrlPrefix
>> +
>> > "/"
>> > >> +
>> > >> >> >>> filePathPrefix + java.net.URLEncoder.encode(filenameToUse,
>> > >> >> >>> characterEncoding);
>> > >> >> >>> }catch(Exception e){
>> > >> >> >>> System.out.println("Incoding
>> > >> >> Problem");
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> try {
>> > >> >> >>> File file = new
>> > >> >> File(imageServerPath
>> > >> >> >>> +
>> > >> >> >>> "/" + filePathPrefix, defaultFileName);
>> > >> >> >>> File file1 = new
>> > >> >> >>> File(imageServerPath
>> > >> >> >>> + "/" + filePathPrefix, filenameToUse);
>> > >> >> >>> try {
>> > >> >> >>> file1.delete();
>> > >> >> >>> } catch(Exception e) {
>> > >> >> >>>
>> System.out.println("error
>> > >> >> >>> deleting
>> > >> >> >>> existing file (not neccessarily a problem)");
>> > >> >> >>> }
>> > >> >> >>> file.renameTo(file1);
>> > >> >> >>> } catch(Exception e) {
>> > >> >> >>> e.printStackTrace();
>> > >> >> >>> }
>> > >> >> >>> }
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> // end of upload image
>> > >> >> >>>
>> > >> >> >>> Timestamp fromDate =
>> UtilDateTime.nowTimestamp();
>> > >> >> >>> GenericDelegator delegator = (GenericDelegator)
>> > >> >> >>> request.getAttribute("delegator");
>> > >> >> >>> try {
>> > >> >> >>> GenericValue DataImportCategoryList =
>> > >> >> >>> delegator.findByPrimaryKey("DataImportCategory",
>> > >> >> >>> UtilMisc.toMap("productCategoryId", productCategoryId));
>> > >> >> >>>
>> > >> >> >>> if(DataImportCategoryList != null){
>> > >> >> >>> String categoryId =
>> > >> >> >>> DataImportCategoryList.getString("productCategoryId");
>> > >> >> >>>
>> if(categoryId.equals(productCategoryId)){
>> > >> >> >>> failCount++;
>> > >> >> >>> }
>> > >> >> >>> }else {
>> > >> >> >>> GenericValue newImportCategory =
>> > >> >> >>> delegator.makeValue("DataImportCategory", null);
>> > >> >> >>>
>> > >> >> >>> newImportCategory.set("productCategoryId",
>> > >> >> >>> productCategoryId.trim());
>> > >> >> >>> if(productCategoryTypeId != null &&
>> > >> >> >>> productCategoryTypeId.length()
>> > >> >> >>> > 0){
>> > >> >> >>> newImportCategory.set("productCategoryTypeId",
>> > >> >> >>> productCategoryTypeId.trim());
>> > >> >> >>> } else {
>> > >> >> >>>
>> > >> >> >>> newImportCategory.set("productCategoryTypeId",
>> > >> "CATALOG_CATEGORY");
>> > >> >> >>> }
>> > >> >> >>> if(primaryParentCategoryId != null &&
>> > >> >> >>> primaryParentCategoryId.length() > 0)
>> > >> >> >>> newImportCategory.set("primaryParentCategoryId",
>> > >> >> >>> primaryParentCategoryId);
>> > >> >> >>> newImportCategory.set("categoryName",
>> > >> categoryName.trim());
>> > >> >> >>> newImportCategory.set("description", description);
>> > >> >> >>> newImportCategory.set("longDescription",
>> > longDescription);
>> > >> >> >>> newImportCategory.set("categoryImageUrl",
>> catImageUrl);
>> > >> >> >>> newImportCategory.set("linkOneImageUrl",
>> linkImageUrl);
>> > >> >> >>>
>> > >> newImportCategory.set("fromDate",
>> > >> >> >>> fromDate);
>> > >> >> >>> try {
>> > >> >> >>>
>> > >> >> >>> delegator.create(newImportCategory);
>> > >> >> >>>
>> > >> Debug.logInfo("Successfully
>> > >> >> >>> imported category ["+productCategoryId+" from row no "+ i+1
>> > +"].",
>> > >> >> >>> module);
>> > >> >> >>> successCount++;
>> > >> >> >>> } catch
>> > >> (GenericEntityException
>> > >> >> e)
>> > >> >> >>> {
>> > >> >> >>>
>> > >> >> >>> Debug.logWarning(e.getMessage(),
>> > >> >> >>> module);
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> }
>> > >> >> >>> } catch(GenericEntityException e) {
>> > >> >> >>> Debug.logError("Exception occured :"+e.getMessage(),
>> > >> module);
>> > >> >> >>> }
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>> }
>> > >> >> >>>
>> > >> >> >>>
>> > >> >> >>> it create the temp file in corresponding directory but there
>> is
>> > no
>> > >> >> >>> actual
>> > >> >> >>> image at that path.
>> > >> >> >>>
>> > >> >> >>> So any one have any idea regarding this please suggest me.
>> > >> >> >>>
>> > >> >> >>>
>> > >> >> >>> Thanks.
>> > >> >> >>>
>> > >> >> >>> Nalin Chandra
>> > >> >> >>>
>> > >> >> >>
>> > >> >> >> --
>> > >> >> >> View this message in context:
>> > >> >> >>
>> > >> >>
>> > >>
>> >
>> http://n4.nabble.com/how-to-import-data-from-excel-sheet-tp160724p585955.html
>> > >> >> >> Sent from the OFBiz - User mailing list archive at Nabble.com.
>> > >> >> >>
>> > >> >> >
>> > >> >> >
>> > >> >> >
>> > >> >>
>> > >> >> --
>> > >> >> View this message in context:
>> > >> >>
>> > >>
>> >
>> http://n4.nabble.com/how-to-import-data-from-excel-sheet-tp160724p586989.html
>> > >> >> Sent from the OFBiz - User mailing list archive at Nabble.com.
>> > >> >>
>> > >> >
>> > >> >
>> > >>
>> > >> --
>> > >> View this message in context:
>> > >>
>> >
>> http://n4.nabble.com/how-to-import-data-from-excel-sheet-tp160724p620283.html
>> > >> Sent from the OFBiz - User mailing list archive at Nabble.com.
>> > >>
>> > >
>> > >
>> >
>> > --
>> > View this message in context:
>> >
>> http://n4.nabble.com/how-to-import-data-from-excel-sheet-tp160724p620305.html
>> > Sent from the OFBiz - User mailing list archive at Nabble.com.
>> >
>>
>
>
--
View this message in context:
http://n4.nabble.com/how-to-import-data-from-excel-sheet-tp160724p621195.html
Sent from the OFBiz - User mailing list archive at Nabble.com.