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

السؤال

نشر

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

انا احتاج كود ينشأ ملف 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...