tạo file số trên text

  • Thread starter Thread starter lala_qn
  • Ngày gửi Ngày gửi
Liên hệ QC

lala_qn

Thành viên tiêu biểu
Tham gia
2/5/09
Bài viết
598
Được thích
17
Nghề nghiệp
chưa ổn định
em muốn tạo 1 file text số chạy từ 0900000000 đến 0909999999 , giữa các số ngăn cách nhau dấu phảy thì làm thế nào ?
đây là 1 đoạn vd
0932578068, 0932578069, 0932578070, 0932578071, 0932578072, 0932578073, 0932578074, 0932578075, 0932578076, 0932578077, 0932578078, 0932578079, 0932578080, 0932578081, 0932578082, 0932578083, 0932578084, 0932578085, 0932578086, 0932578087, 0932578088, 0932578089, 0932578090, 0932578091, 0932578092, 0932578093, 0932578094, 0932578095, 0932578096, 0932578097, 0932578098, 0932578099, 0932578100, 0932578101, 0932578102, 0932578103,
thanks !
 
em muốn tạo 1 file text số chạy từ 0900000000 đến 0909999999 , giữa các số ngăn cách nhau dấu phảy thì làm thế nào ?
đây là 1 đoạn vd
0932578068, 0932578069, 0932578070, 0932578071, 0932578072, 0932578073, 0932578074, 0932578075, 0932578076, 0932578077, 0932578078, 0932578079, 0932578080, 0932578081, 0932578082, 0932578083, 0932578084, 0932578085, 0932578086, 0932578087, 0932578088, 0932578089, 0932578090, 0932578091, 0932578092, 0932578093, 0932578094, 0932578095, 0932578096, 0932578097, 0932578098, 0932578099, 0932578100, 0932578101, 0932578102, 0932578103,
thanks !

Đây là file ví dụ...
 

File đính kèm

Dãy của bạn có 10 triệu số (từ 090.0.000.000 đến 090.9.999.999), tạo trong Excel, mỗi ô 1 số, có 50.000 dòng X 200 cột, file sẽ có kích thước 73.9MB, ghi ra file text với phân cách dấu phẩy - kiểu file: *.CSV sẽ có kích thước 104MB gồm 50.000 dòng, mỗi dòng có 200 số cách nhau bởi dấu phẩy.
(Ghi chú, nếu tạo trong Excel 2007 thì kích thước sẽ giảm, với 1.000.000 dòng X 10 cột; hoặc 10.000 R x 1000 C; hoặc 1000R x 10.000C)
Bên dưới, tôi hướng dẫn cách tạo trong E2003:
1.Mở 1 workbook mới, tại ô A1 nhập công thức:
="090" & TEXT((ROW()-1) * 200 + COLUMN()-1, "0000000")
2. Sao chép công thức từ A1 xuống đến A50000 (cách nhanh: gõ vào hộp tên (Name Box): A1:A50000, nhấn Enter, nhấn Ctrl-D
3. Sao chép công thức từ A1 sang phải đến GR1 (như trên: gõ vào hộp A1:GR1, nhấn Enter, nhấn ctrl-R)
4. Chọn dòng 1, lấp công thức xuống đến hết (Excel sẽ báo lỗi không đủ bộ nhớ cho lệnh Undo, bạn nhấn Yes/OK để đồng ý)
5. Ghi ra file text: chọn Save As, chọn kiểu file CSV => OK!
 
em không hiểu cách làm lắm anh
cụ thể là em muốn làm 1 file chạy từ 0902000000, 0902000001, 0902000002, 0902000003, ... 0902999999
và từ 0932000000, 0932000001, 0932000002, 0932000003, ... 0932999999
bằng .txt nhờ anh chị giúp dùm , thanks all
 
hướng dẫn dùm lại dùm em với , thanks
 
em đang rât cần anh chị giúp dùm e vơi , thanks all
 
em không hiểu cách làm lắm anh
cụ thể là em muốn làm 1 file chạy từ 0902000000, 0902000001, 0902000002, 0902000003, ... 0902999999
và từ 0932000000, 0932000001, 0932000002, 0932000003, ... 0932999999
bằng .txt nhờ anh chị giúp dùm , thanks all

Phân tích nhé:
- Với 1 list từ 0902000000 đên 0902999999, ta được 1000000 số
- Lưu vào file txt, dung lượng phải cở 20 MB
===> Dung lượng cở đó làm sao bạn mở xem đây?
Nên tôi nghĩ phải lưu thành .CSV là hợp lý (để có thể mở bằng WordPad hoặc Excel)
Tôi sẽ viết code để tự động hoá hoá trình này:
PHP:
Function PhoneList(ByVal sPrefix As String, lSuffix As Long) As String
  Dim Arr(), tmp As String
  Dim lTotal As Long, lR As Long, i As Long, n As Long
  On Error Resume Next
  lTotal = 10 ^ (lSuffix)
  lR = Int(lTotal / 200) + 1
  ReDim Arr(1 To lR)
  For i = 1 To lTotal
    If tmp = "" Then
      tmp = sPrefix & Format(i - 1, String(lSuffix, "0"))
    Else
      tmp = tmp & vbTab & sPrefix & Format(i - 1, String(lSuffix, "0"))
    End If
    If (i Mod 200) = 0 Or i = lTotal Then
      n = n + 1
      Arr(n) = tmp
      tmp = ""
    End If
  Next
  PhoneList = Join(Arr, vbCrLf)
End Function
PHP:
Sub Main()
  Dim sPhone As String, txtFile As String
  txtFile = ThisWorkbook.Path & "\PhoneList.csv"
  sPhone = PhoneList("0902", 6)
  If Len(sPhone) Then
    With CreateObject("Scripting.FileSystemObject")
      With .CreateTextFile(txtFile, True, True)
        .Write sPhone: .Close
      End With
    End With
  End If
  MsgBox "Hoan tat"
End Sub
Ghi chú: Hàm PhoneList có cú pháp PhoneList(Đầu số, độ dài của đuôi số)
Ví dụ PhoneList("0902", 6) có nghĩa là tạo 1 list SDT với đầu số "0902" và phần đuôi có 6 chữ số (từ 000000 đến 999999)
 

File đính kèm

Lần chỉnh sửa cuối:
cái này em nghĩ nó phải hiển thị thực tế bằng .txt vì em làm file này để up lên web tạo thành kho số tổng hợp
em nghe bạn em nói tạo thành file .txt chuyển sang .html sẽ rất nhẹ , có phương án nào ko anh chị ?
 
cái này em nghĩ nó phải hiển thị thực tế bằng .txt vì em làm file này để up lên web tạo thành kho số tổng hợp
em nghe bạn em nói tạo thành file .txt chuyển sang .html sẽ rất nhẹ , có phương án nào ko anh chị ?
Thì code viết rồi đấy, thích chuyển thành txt hay csv là tùy bạn thôi
Sửa câu lệnh:
txtFile = ThisWorkbook.Path & "\PhoneList.csv"
thành:
txtFile = ThisWorkbook.Path & "\PhoneList.txt"
là có ngay cái bạn cần
Chỉ là tôi muốn phân tích cho bạn thấy rằng với file txt dung lượng 20MB, Notepad sẽ không tài nào mở được
--------------------------
Phần tính đơn giá làm hoài k ra
Thế vấn đề bạn hỏi thì liên quan gì đến chủ đề ghi file text trong topic này? Post bài chen ngang, có thể bị cảnh cáo nha bạn!
 
nói thật em cũng kho biết mở file của anh ra thế nào nữa , hic , hình như chạy băng macro hả anh ,làm phiền anh qúa , chỉ dùm em cách mở anh nhé , thanks anh
 
nói thật em cũng kho biết mở file của anh ra thế nào nữa , hic , hình như chạy băng macro hả anh ,làm phiền anh qúa , chỉ dùm em cách mở anh nhé , thanks anh

Chưa hiểu ý bạn lắm! File tôi tạo trên Excel 2010, phần mở rộng là xlsm... Hay là bạn đang dùng Excel 2003 chăng? Nếu là vậy tôi sẽ post lại file xls
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom