اذهب إلى المحتوى
  • 0

احتاج كود ينشأ ملف Excel ويتم حفظه في الذاكرة الداخلية في android studio

خضر علي2

السؤال

السلام عليكم ورحمة الله وبركاته 

انا احتاج كود ينشأ ملف Excel ويتم تخزين في الذاكرة الداخلية في ملف معين انا اختاره طبعا الكود حيكون ضمن زر بحيث اضغط على الزر بيسوي لي المهمه المذكورة اعلاه انا استخدم برنامج android studio واللغة هي لغة java وشكرا لكم 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

ستقوم بإنشاء مشروع جديد وليكن اسمه excel_project. ثم ستقوم بتضمين مكتبة poi-5.0.0.jar إلى مشروعك.

في ملف AndroidManifest.xml , أضف إذن "WRITE_EXTERNAL_STORAGE" حيث نطلب الوصول إلى وحدة التخزين الخارجية لحفظ ملف Excel.

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 ثم في ملف MainActivity.java في دالة onCreate يمكنك إضافة زر إنشاء الملف كالتالي 

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  Button button=findViewById(R.id.exelCreate);
  button.setOnClickListener(this);
}

 ثم في دالة onClick تقوم بإضافة التالي 

public void onClick(View v) {

  Workbook wb=new HSSFWorkbook();
  Cell cell=null;
  CellStyle cellStyle=wb.createCellStyle();
  cellStyle.setFillForegroundColor(HSSFColor.LIGHT_BLUE.index);
  cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

  //الآن نقوم بإنشاء ورقة
  Sheet sheet=null;
  sheet = wb.createSheet("Name of sheet");
  //إنشاء الآن العمود والصف
  Row row =sheet.createRow(0);

  cell=row.createCell(0);
  cell.setCellValue("Name");
  cell.setCellStyle(cellStyle);

  cell=row.createCell(1);
  cell.setCellValue("Number");
  cell.setCellStyle(cellStyle);

  sheet.setColumnWidth(0,(10*200));
  sheet.setColumnWidth(1,(10*200));

  File file = new File(getExternalFilesDir(null),"myexcel.xls");
  FileOutputStream outputStream =null;

  try {
  outputStream=new FileOutputStream(file);
  wb.write(outputStream);
  Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_LONG).show();
  } catch (java.io.IOException e) {
  e.printStackTrace();

  Toast.makeText(getApplicationContext(),"NO OK",Toast.LENGTH_LONG).show();
  try {
  outputStream.close();
  } catch (IOException ex) {
  ex.printStackTrace();
  }
  }
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...