דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. יצוא לקובץ CSV בעברית

יצוא לקובץ CSV בעברית

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 2 כותבים 369 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    שמואל
    כתב ב נערך לאחרונה על ידי
    #1

    אני מייצא לקובץ CSV
    והבעיה שכאשר המילים בעברית כל הכיתוב משתבש לי
    ניסיתי לכתוב כך

    TextWriter tw = File.CreateText(Directory.GetCurrentDirectory().ToString() + @"\tests.csv");
    tw.Write("שם משפחה,");
    tw.Write("שם פרטי", Encoding.GetEncoding(1255));
    

    אך גם לא הלך לי

    תודה

    פורסם במקור בפורום CODE613 ב10/10/2013 13:18 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      הפונקציה שהבאת יוצרת קובץ ומחזירה אובייקט StreamWriter בקידוד לUTF8,
      כך ששאני באמת מאוד מתפלא למה זה לא עובד.
      (האנקודינג שכתבת לא אמור לעזור, אין זה מקומו וגם אין לו מקום אחרי יצירת הסטרים).

      הקוד דלהלן עובד:

      var fileName = "tests.csv";
      using (StreamWriter sw = new StreamWriter(File.Open(fileName, FileMode.Create), Encoding.UTF8))
      {
          sw.Write("אבג ABC 123");
      }
      

      אני בכלל עובד אחרת: אני קודם יוצר סטרינג ארוך ואח"כ מכניס לתוך הקובץ בבת אחת ככה:

      var strBldr = new StringBuilder();
      strBldr.Append("אבג ABC 123");
      File.WriteAllText(fileName, strBldr.ToString(), Encoding.GetEncoding(1255));
      

      שים לב שכיון שבשם קובץ אפשר לכותב נתיב יחסי, אז אתה לא להשיג את כתובת הנתיב המוחלט.
      לכן אפשר לכתוב בתור שם קובץ "file.csv" והוא יווצר בתייקה בה התוכנה נמצאת.
      או "dir\file.csv" ואז הוא יווצר בתייקה dir שבתוך התיקייה ממנה התוכנה רצה.

      פורסם במקור בפורום CODE613 ב10/10/2013 14:09 (+03:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • ש מנותק
        ש מנותק
        שמואל
        כתב ב נערך לאחרונה על ידי
        #3

        [quote="דוד ל.ט."]הקוד דלהלן עובד:

        var fileName = "tests.csv";
        using (StreamWriter sw = new StreamWriter(File.Open(fileName, FileMode.Create), Encoding.UTF8))
        {
            sw.Write("אבג ABC 123");
        }
        

        סליחה על הבורות מה ביאור הקוד הזה using וכו' לא מוכר לי כזה תחביר
        זה עובד
        אבל אם כבר מעניין אותי התחביר

        פורסם במקור בפורום CODE613 ב10/10/2013 15:37 (+03:00)

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          Using משמש בעיקר לוודא שבתום השימוש תיקרא הפונקצייה Dispose.
          וזאת גם אם תוכנ עפה באמצע השימוש (מאחורי הקלעים הקומפיילר בונה tyr מסביב).
          הפונקציה Dispose דואגת לשחרור השימוש/זיכרון מהאובייקט.
          משתמשים בUsing בכל דבר "יקר": קבצים וכדו'.

          בפועל using גם משמשת כבלוק, הצהרת הכותרת שלה והצהרות בתוכה,
          מאבדים את טווח ההכרה מחוצה לה.

          פורסם במקור בפורום CODE613 ב10/10/2013 18:38 (+03:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום